On Sat, Jun 07, 2008 at 08:22:17AM -0400, Theodore Tso wrote:
> severity 484879 normal
> tags 484879 +pending
> thanks
> 
> On Sat, Jun 07, 2008 at 09:10:07AM +0200, Mike Hommey wrote:
> > Package: e2fslibs-dev
> > Version: 1.40.8-2
> > Severity: important
> > 
> > If a program using ext2fs public headers want to use some functions or
> > features that are #ifdef'ed within conditionals that are defined at
> > e2fsprogs build time, they just can't. Similarly, it would need to
> > include sys/types.h itself to circumvent the lack of HAVE_SYS_TYPES_H.
> > 
> > It's particularly a problem for WORDS_BIGENDIAN, because byte swapping
> > macros won't do the right thing on big endians without defining
> > WORDS_BIGENDIAN.
> > 
> > There should be a config.h file, included in the headers, that set all
> > these variables that are defined at build time but are required by
> > headers.
> 
> The general design rule is that we try to avoid using any
> autoconf-defined macros in the public header files.  Some have slipped
> in; the HAVE_SYS_TYPES_H was just to calm down some gcc -Wall
> messages, for example.  The use of WORDS_BIGENDIAN has been there much
> longer, but in general hasn't been a problem because there really
> isn't a good reason for external ext2 programs to use the ext2fs_*
> byte swapping macros.  So in practice this hasn't caused any problems
> at all.
> 
> Still, it should be fixed, and the following diff will be checked into
> e2fsprogs's tree.

Note, I wonder if there aren't possible problems with other macros,
such as ENABLE_SWAPFS and ENABLE_COMPRESSION.

Mike



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to