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 --]
next prev parent 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.