[Top][All Lists]
[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