Re: libsmartcols patch

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Feb 16, 2015 at 05:48:48AM -0500, Mike Frysinger wrote:
> > > 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.

suicide + usable message is better than segfault

> >  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;

this is mistake, fixed in libsmartcols and libmount, I'll later fix it
in libfdisk too.

> >  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.

Maybe, the idea has been to keep it in our hands and force people to
use asserts for the "not yet well tested" libs.

    Karel

-- 
 Karel Zak  <kzak@xxxxxxxxxx>
 http://karelzak.blogspot.com
--
To unsubscribe from this list: send the line "unsubscribe util-linux" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux