All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mike Frysinger <vapier@gentoo.org>
To: Karel Zak <kzak@redhat.com>
Cc: Phillip Susi <psusi@ubuntu.com>, util-linux <util-linux@vger.kernel.org>
Subject: Re: libsmartcols patch
Date: Mon, 16 Feb 2015 05:48:48 -0500	[thread overview]
Message-ID: <20150216104848.GK4075@vapier> (raw)
In-Reply-To: <20150216102726.GH11948@ws.net.home>

[-- Attachment #1: Type: text/plain, Size: 1464 bytes --]

On 16 Feb 2015 11:27, Karel Zak wrote:
> On Mon, Feb 16, 2015 at 12:00:53AM -0500, Mike Frysinger wrote:
> > On 28 Dec 2014 20:30, Phillip Susi wrote:
> > > --- libsmartcols/src/table_print.c	2014-12-24 23:59:55.780110296 +0200
> > > +++ libsmartcols/src/table_print.c	2014-12-28 22:45:20.347285226 +0200
> > >  
> > > +	assert(ln);
> > > +	assert(buf);
> > 
> > general note: libraries should never assert/abort/exit.
> 
>  what about segfault?

that's a red herring.  you can't guarantee your codebase is bug free, but that 
doesn't mean encouraging a policy of committing suicide is a good thing.

>  We use assert to detect fatal internal library bugs, for mistakes in
>  applications (e.g. incomplete arguments) it returns -EINVAL.

libsmartcols/src/table_print.c:
int scols_print_table(struct libscols_table *tb)
{
...
    assert(tb);
    if (!tb)
        return -1;

looks like over-eagerness has already broken the public API ;).

>  Its' possible to remove CONFIG_LIBSMARTCOLS_ASSERT from smartcolsP.h,
>  but I don't think the library is already well tested.

odd ... why is that reimplementing the wheel ?  the standard assert.h already 
supports NDEBUG for turning off asserts.

i see there's a bunch of such knobs in the codebase.  time for a 
--{en,dis}able-asserts configure flag ?  you could delete all the existing 
CONFIG_xxx_ASSERT defines and simply rely on configure adding -DNDEBUG to 
CPPFLAGS.
-mike

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

  reply	other threads:[~2015-02-16 10:48 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-29  1:30 libsmartcols patch Phillip Susi
2015-01-07 14:26 ` Karel Zak
2015-02-16  5:00 ` Mike Frysinger
2015-02-16 10:27   ` Karel Zak
2015-02-16 10:48     ` Mike Frysinger [this message]
2015-02-16 13:46       ` Karel Zak

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150216104848.GK4075@vapier \
    --to=vapier@gentoo.org \
    --cc=kzak@redhat.com \
    --cc=psusi@ubuntu.com \
    --cc=util-linux@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.