bug-coreutils
[Top][All Lists]
Advanced

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

system.h cleanups


From: Eric Blake
Subject: system.h cleanups
Date: Thu, 8 Oct 2009 14:38:32 +0000 (UTC)
User-agent: Loom/3.14 (http://gmane.org/)

OK to commit these cleanups?  Maybe we should push on Bruno to add ENODATA to 
gnulib's <errno.h> replacement, particularly since you are now considering 
using ENODATA for SELinux errors.  While the system.h version allows 
compilation, it would be better to have a dedicated errno rather than -1, as 
well as strerror support, if some other platform happens to encounter the 
SELinux path that sets ENODATA.  gmane probably wrapped long lines :(


>From 69b7a7ab900a043d6330b400659fb69a1aedde8e Mon Sep 17 00:00:00 2001
From: Eric Blake <address@hidden>
Date: Thu, 8 Oct 2009 08:13:02 -0600
Subject: [PATCH 1/3] maint: move timeout exit statuses

* src/timeout.c (EXIT_TIMEDOUT, EXIT_CANCELED): Remove as
macros...
* src/system.h (EXIT_TIMEDOUT, EXIT_CANCELED): ...and provide as
enum values instead.
---
 src/system.h  |    2 ++
 src/timeout.c |    6 ------
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/src/system.h b/src/system.h
index ce71148..102b93d 100644
--- a/src/system.h
+++ b/src/system.h
@@ -107,6 +107,8 @@ you must include <sys/types.h> before including this file
 /* Exit statuses for programs like 'env' that exec other programs.  */
 enum
 {
+  EXIT_TIMEDOUT = 124,
+  EXIT_CANCELED = 125,
   EXIT_CANNOT_INVOKE = 126,
   EXIT_ENOENT = 127
 };
diff --git a/src/timeout.c b/src/timeout.c
index 7069f2c..7b0f1d7 100644
--- a/src/timeout.c
+++ b/src/timeout.c
@@ -73,12 +73,6 @@

 #define AUTHORS proper_name_utf8 ("Padraig Brady", "P\303\241draig Brady")

-/* Note ETIMEDOUT is 110 on GNU/Linux systems but this is non standard */
-#define EXIT_TIMEDOUT 124
-
-/* Internal failure.  */
-#define EXIT_CANCELED 125
-
 static int timed_out;
 static int term_signal = SIGTERM;  /* same default as kill command.  */
 static int monitored_pid;
-- 
1.6.4.2


>From 3fe95b8d5294df9747982cc6e41a6adb621450a0 Mon Sep 17 00:00:00 2001
From: Eric Blake <address@hidden>
Date: Thu, 8 Oct 2009 08:10:50 -0600
Subject: [PATCH 2/3] maint: remove unused macros and declarations

* src/system.h (strdupa): Delete unused macro.
(EDQUOT, EISDIR, ENOSYS, EOVERFLOW, F_OK, X_OK, W_OK, R_OK):
Delete; macros provided by gnulib.
(includes): Gnulib guarantees both <time.h> and <sys/time.h>, in
either order.
(free, malloc, memchr, realloc, getenv, lseek): Delete, gnulib
guarantees these declarations.
* m4/check-decl.m4 (gl_CHECK_DECLS): Delete checks now done by
gnulib.
---
 m4/check-decl.m4 |    8 +-----
 src/system.h     |   74 +++---------------------------------------------------
 2 files changed, 5 insertions(+), 77 deletions(-)

diff --git a/m4/check-decl.m4 b/m4/check-decl.m4
index d1a520a..530c59e 100644
--- a/m4/check-decl.m4
+++ b/m4/check-decl.m4
@@ -1,4 +1,4 @@
-#serial 24
+#serial 25
 # Check declarations for this package.

 dnl Copyright (C) 1997-2001, 2003-2006, 2008-2009 Free Software
@@ -37,13 +37,7 @@ AC_DEFUN([gl_CHECK_DECLS],

   AC_CHECK_DECLS([isblank], [], [], [#include <ctype.h>])

-  AC_CHECK_DECLS_ONCE([free])
-  AC_CHECK_DECLS_ONCE([getenv])
   AC_CHECK_DECLS_ONCE([geteuid])
   AC_CHECK_DECLS_ONCE([getlogin])
   AC_CHECK_DECLS_ONCE([getuid])
-  AC_CHECK_DECLS_ONCE([lseek])
-  AC_CHECK_DECLS_ONCE([malloc])
-  AC_CHECK_DECLS_ONCE([memchr])
-  AC_CHECK_DECLS_ONCE([realloc])
 ])
diff --git a/src/system.h b/src/system.h
index 102b93d..976e4ac 100644
--- a/src/system.h
+++ b/src/system.h
@@ -44,16 +44,8 @@ you must include <sys/types.h> before including this file

 #include "configmake.h"

-#if TIME_WITH_SYS_TIME
-# include <sys/time.h>
-# include <time.h>
-#else
-# if HAVE_SYS_TIME_H
-#  include <sys/time.h>
-# else
-#  include <time.h>
-# endif
-#endif
+#include <sys/time.h>
+#include <time.h>

 /* Since major is a function on SVR4, we can't use `ifndef major'.  */
 #if MAJOR_IN_MKDEV
@@ -86,16 +78,8 @@ you must include <sys/types.h> before including this file

 #include <errno.h>

-/* Some systems don't define the following symbols.  */
-#ifndef EDQUOT
-# define EDQUOT (-1)
-#endif
-#ifndef EISDIR
-# define EISDIR (-1)
-#endif
-#ifndef ENOSYS
-# define ENOSYS (-1)
-#endif
+/* Some systems don't define this; POSIX mentions it but says it is
+   obsolete, so gnulib does not provide it either.  */
 #ifndef ENODATA
 # define ENODATA (-1)
 #endif
@@ -125,13 +109,6 @@ initialize_exit_failure (int status)

 #include <fcntl.h>

-#ifndef F_OK
-# define F_OK 0
-# define X_OK 1
-# define W_OK 2
-# define R_OK 4
-#endif
-
 #include <dirent.h>
 #ifndef _D_EXACT_NAMLEN
 # define _D_EXACT_NAMLEN(dp) strlen ((dp)->d_name)
@@ -281,30 +258,6 @@ select_plural (uintmax_t n)

 #define STREQ(a, b) (strcmp (a, b) == 0)

-#if !HAVE_DECL_FREE
-void free ();
-#endif
-
-#if !HAVE_DECL_MALLOC
-char *malloc ();
-#endif
-
-#if !HAVE_DECL_MEMCHR
-char *memchr ();
-#endif
-
-#if !HAVE_DECL_REALLOC
-char *realloc ();
-#endif
-
-#if !HAVE_DECL_GETENV
-char *getenv ();
-#endif
-
-#if !HAVE_DECL_LSEEK
-off_t lseek ();
-#endif
-
 #if !HAVE_DECL_GETLOGIN
 char *getlogin ();
 #endif
@@ -534,25 +487,6 @@ enum
 # define ATTRIBUTE_UNUSED __attribute__ ((__unused__))
 #endif

-#if defined strdupa
-# define ASSIGN_STRDUPA(DEST, S)               \
-  do { DEST = strdupa (S); } while (0)
-#else
-# define ASSIGN_STRDUPA(DEST, S)               \
-  do                                           \
-    {                                          \
-      const char *s_ = (S);                    \
-      size_t len_ = strlen (s_) + 1;           \
-      char *tmp_dest_ = alloca (len_);         \
-      DEST = memcpy (tmp_dest_, s_, len_);     \
-    }                                          \
-  while (0)
-#endif
-
-#ifndef EOVERFLOW
-# define EOVERFLOW EINVAL
-#endif
-
 #if ! HAVE_SYNC
 # define sync() /* empty */
 #endif
-- 
1.6.4.2


>From cb1d20e5764917ce16d7ba970061c5c3a591097c Mon Sep 17 00:00:00 2001
From: Eric Blake <address@hidden>
Date: Thu, 8 Oct 2009 08:35:55 -0600
Subject: [PATCH 3/3] maint: use X2NREALLOC in more places

* src/chroot.c (set_additional_groups): Use X2NREALLOC rather than
x2nrealloc.
* src/factor.c (emit_factor): Likewise.
* src/setuidgid.c (main): Likewise.
---
 src/chroot.c    |    2 +-
 src/factor.c    |    2 +-
 src/setuidgid.c |    2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/chroot.c b/src/chroot.c
index 5e8cb9c..9269f1b 100644
--- a/src/chroot.c
+++ b/src/chroot.c
@@ -91,7 +91,7 @@ set_additional_groups (char const *groups)
         }

       if (n_gids == n_gids_allocated)
-        gids = x2nrealloc (gids, &n_gids_allocated, sizeof *gids);
+        gids = X2NREALLOC (gids, &n_gids_allocated);
       gids[n_gids++] = value;
     }

diff --git a/src/factor.c b/src/factor.c
index f48a720..38c9a11 100644
--- a/src/factor.c
+++ b/src/factor.c
@@ -67,7 +67,7 @@ static void
 emit_factor (mpz_t n)
 {
   if (nfactors_found == nfactors_allocated)
-    factor = x2nrealloc (factor, &nfactors_allocated, sizeof *factor);
+    factor = X2NREALLOC (factor, &nfactors_allocated);
   mpz_init (factor[nfactors_found]);
   mpz_set (factor[nfactors_found], n);
   ++nfactors_found;
diff --git a/src/setuidgid.c b/src/setuidgid.c
index 7176b1a..34be515 100644
--- a/src/setuidgid.c
+++ b/src/setuidgid.c
@@ -110,7 +110,7 @@ main (int argc, char **argv)
                       error (EXIT_FAILURE, 0, _("invalid group %s"),
                              quote (gr));
                     if (n_gids == n_gids_allocated)
-                      gids = x2nrealloc (gids, &n_gids_allocated, sizeof 
*gids);
+                      gids = X2NREALLOC (gids, &n_gids_allocated);
                     gids[n_gids++] = tmp_ul;

                     if (*ptr == '\0')
-- 
1.6.4.2







reply via email to

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