bug-gnulib
[Top][All Lists]
Advanced

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

Re: [bug-gnulib] ullong_max vs. stdint.h/inttypes.h


From: Paul Eggert
Subject: Re: [bug-gnulib] ullong_max vs. stdint.h/inttypes.h
Date: Fri, 27 May 2005 17:05:56 -0700
User-agent: Gnus/5.1006 (Gnus v5.10.6) Emacs/21.4 (gnu/linux)

Eric Blake <address@hidden> writes:

> Right now, only the fts module depends on ULLONG_MAX in the ullong_max
> module

Hmm, but that wasn't in modules/fts -- I guess this was a bug?
And I think it's also a bug that modules/fts and modules/fts-lgpl
disagree about the gettext dependencies.

> Should fts be simplified to just use stdint.h/inttypes.h?

Yes, but for a different reason: fts needs that stuff only if FTS_DEBUG
is set, and it's OK to restrict this to more-modern hosts.

> And should there be an inttypes_.h module for systems lacking the
> PRI* macros?

Something like that might make sense, yes.  But it's not needed any
more for this particular case, now that I installed this patch
(in both gnulib and coreutils) to fix the problems mentioned above:

2005-05-27  Paul Eggert  <address@hidden>

        * modules/fts (Files): Remove m4/inttypes-pri.m4.
        * modules/fts-lgpl (Depends-on): Remove gettext.
        * lib/fts.c: Don't worry about debugging on pre-C99-comopatible hosts;
        the configuration hassle isn't worth it.
        Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
        (LONGEST_MODIFIER, PRIuMAX): Remove. 
        * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
        and don't require gt_INTTYPES_PRI.

Index: lib/fts.c
===================================================================
RCS file: /cvsroot/gnulib/gnulib/lib/fts.c,v
retrieving revision 1.4
diff -p -u -r1.4 fts.c
--- lib/fts.c   22 May 2005 17:29:16 -0000      1.4
+++ lib/fts.c   27 May 2005 23:58:15 -0000
@@ -70,23 +70,6 @@ static char sccsid[] = "@(#)fts.c    8.6 (B
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
-#if HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#if HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#if ULONG_MAX < ULLONG_MAX
-# define LONGEST_MODIFIER "ll"
-#else
-# define LONGEST_MODIFIER "l"
-#endif
-#if PRI_MACROS_BROKEN
-# undef PRIuMAX
-#endif
-#ifndef PRIuMAX
-# define PRIuMAX LONGEST_MODIFIER "u"
-#endif
 
 #if defined _LIBC
 # include <dirent.h>
@@ -201,8 +184,10 @@ static int fd_safer (int fd) { return fd
 #define BREAD          3               /* fts_read */
 
 #if FTS_DEBUG
-bool fts_debug = false;
+# include <inttypes.h>
+# include <stdint.h>
 # include <stdio.h>
+bool fts_debug = false;
 # define Dprintf(x) do { if (fts_debug) printf x; } while (0)
 #else
 # define Dprintf(x)
Index: m4/fts.m4
===================================================================
RCS file: /cvsroot/gnulib/gnulib/m4/fts.m4,v
retrieving revision 1.4
diff -p -u -r1.4 fts.m4
--- m4/fts.m4   20 May 2005 23:07:53 -0000      1.4
+++ m4/fts.m4   27 May 2005 23:58:15 -0000
@@ -1,4 +1,4 @@
-#serial 4
+#serial 5
 dnl Copyright (C) 2005 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -30,12 +30,8 @@ AC_DEFUN([gl_FUNC_FTS_CORE],
 
   # Checks for header files.
   AC_REQUIRE([AC_HEADER_DIRENT])
-  AC_CHECK_HEADERS_ONCE([inttypes.h stdint.h])
   AC_CHECK_HEADERS_ONCE([sys/param.h])
 
-  # Checks for typedefs, structures, and compiler characteristics.
-  AC_REQUIRE([gt_INTTYPES_PRI])
-
   # Checks for library functions.
   AC_REQUIRE([AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK])
 ])
Index: modules/fts
===================================================================
RCS file: /cvsroot/gnulib/gnulib/modules/fts,v
retrieving revision 1.2
diff -p -u -r1.2 fts
--- modules/fts 21 May 2005 08:39:21 -0000      1.2
+++ modules/fts 27 May 2005 23:58:15 -0000
@@ -6,7 +6,6 @@ lib/fts_.h
 lib/fts.c
 lib/fts-cycle.c
 m4/fts.m4
-m4/inttypes-pri.m4
 
 Depends-on:
 cycle-check
Index: modules/fts-lgpl
===================================================================
RCS file: /cvsroot/gnulib/gnulib/modules/fts-lgpl,v
retrieving revision 1.1
diff -p -u -r1.1 fts-lgpl
--- modules/fts-lgpl    20 May 2005 23:07:53 -0000      1.1
+++ modules/fts-lgpl    27 May 2005 23:58:15 -0000
@@ -9,7 +9,6 @@ m4/fts.m4
 Depends-on:
 dirfd
 stdbool
-gettext
 
 configure.ac:
 gl_FUNC_FTS_LGPL




reply via email to

[Prev in Thread] Current Thread [Next in Thread]