diff options
-rw-r--r-- | ChangeLog | 26 | ||||
-rw-r--r-- | lib/c-stack.c | 3 | ||||
-rw-r--r-- | lib/canonicalize-lgpl.c | 5 | ||||
-rw-r--r-- | lib/canonicalize.c | 3 | ||||
-rw-r--r-- | lib/chdir-safer.c | 10 | ||||
-rw-r--r-- | lib/inet_ntop.c | 6 | ||||
-rw-r--r-- | lib/inet_pton.c | 6 | ||||
-rw-r--r-- | lib/lchown.c | 10 | ||||
-rw-r--r-- | lib/openat-priv.h | 22 | ||||
-rw-r--r-- | lib/savewd.c | 6 | ||||
-rw-r--r-- | lib/settime.c | 12 | ||||
-rw-r--r-- | lib/utimens.c | 14 | ||||
-rw-r--r-- | lib/xgethostname.c | 8 | ||||
-rw-r--r-- | m4/chdir-safer.m4 | 5 | ||||
-rw-r--r-- | modules/c-stack | 1 | ||||
-rw-r--r-- | modules/canonicalize | 1 | ||||
-rw-r--r-- | modules/chdir-safer | 1 | ||||
-rw-r--r-- | modules/fdopendir | 3 | ||||
-rw-r--r-- | modules/inet_ntop | 1 | ||||
-rw-r--r-- | modules/inet_pton | 1 | ||||
-rw-r--r-- | modules/lchown | 1 | ||||
-rw-r--r-- | modules/openat | 1 | ||||
-rw-r--r-- | modules/savewd | 1 | ||||
-rw-r--r-- | modules/settime | 1 | ||||
-rw-r--r-- | modules/utimens | 1 |
25 files changed, 56 insertions, 93 deletions
@@ -1,5 +1,31 @@ 2009-09-02 Eric Blake <ebb9@byu.net> + errno: use consistently + * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition. + * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise. + * lib/canonicalize.c (ELOOP): Likewise. + * lib/inet_ntop.c (EAFNOSUPPORT): Likewise. + * lib/inet_pton.c (EAFNOSUPPORT): Likewise. + * lib/lchown.c (EOPNOTSUPP): Likewise. + * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise. + * lib/savewd.c (ESTALE): Likewise. + * lib/settime.c (ENOSYS): Likewise. + * lib/utimens.c (ENOSYS): Likewise. + * lib/xgethostname.c (ENAMETOOLONG): Likewise. + * lib/chdir-safer.c (ELOOP): Likewise. + (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness. + * modules/c-stack (Depends-on): Add errno. + * modules/canonicalize (Depends-on): Likewise. + * modules/chdir-safer (Depends-on): Likewise. + * modules/fdopendir (Depends-on): Likewise. + * modules/inet_ntop (Depends-on): Likewise. + * modules/inet_pton (Depends-on): Likewise. + * modules/lchown (Depends-on): Likewise. + * modules/openat (Depends-on): Likewise. + * modules/savewd (Depends-on): Likewise. + * modules/settime (Depends-on): Likewise. + * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink. + fts: avoid leaking fds * modules/fts (Depends-on): Add cloexec. * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec diff --git a/lib/c-stack.c b/lib/c-stack.c index d260b47aa5..1dddeefc41 100644 --- a/lib/c-stack.c +++ b/lib/c-stack.c @@ -46,9 +46,6 @@ #define _(msgid) gettext (msgid) #include <errno.h> -#ifndef ENOTSUP -# define ENOTSUP EINVAL -#endif #include <signal.h> #if ! HAVE_STACK_T && ! defined stack_t diff --git a/lib/canonicalize-lgpl.c b/lib/canonicalize-lgpl.c index 3aaa310ecd..6b5663a3de 100644 --- a/lib/canonicalize-lgpl.c +++ b/lib/canonicalize-lgpl.c @@ -1,5 +1,5 @@ /* Return the canonical absolute name of a given file. - Copyright (C) 1996-2003, 2005-2008 Free Software Foundation, Inc. + Copyright (C) 1996-2003, 2005-2009 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify @@ -50,9 +50,6 @@ #include <errno.h> #ifndef _LIBC # define __set_errno(e) errno = (e) -# ifndef ENAMETOOLONG -# define ENAMETOOLONG EINVAL -# endif #endif #ifdef _LIBC diff --git a/lib/canonicalize.c b/lib/canonicalize.c index 37446545cd..523e08204c 100644 --- a/lib/canonicalize.c +++ b/lib/canonicalize.c @@ -38,9 +38,6 @@ #include "xalloc.h" #include "xgetcwd.h" -#ifndef ELOOP -# define ELOOP 0 -#endif #ifndef __set_errno # define __set_errno(Val) errno = (Val) #endif diff --git a/lib/chdir-safer.c b/lib/chdir-safer.c index 03f372050f..a6f77b0afc 100644 --- a/lib/chdir-safer.c +++ b/lib/chdir-safer.c @@ -1,6 +1,6 @@ /* much like chdir(2), but safer - Copyright (C) 2005-2006, 2008 Free Software Foundation, Inc. + Copyright (C) 2005-2006, 2008-2009 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -29,8 +29,8 @@ #include <sys/stat.h> #include "same-inode.h" -#ifndef ELOOP -# define ELOOP 0 +#ifndef HAVE_READLINK +# define HAVE_READLINK 0 #endif /* Like chdir, but fail if DIR is a symbolic link to a directory (or @@ -51,9 +51,9 @@ chdir_no_follow (char const *dir) they are the same file; if they are different files, set errno to ELOOP (the same value that open uses for symlinks with O_NOFOLLOW) so the caller can report a failure. - Skip this check if ELOOP == 0, which should be the case + Skip this check if HAVE_READLINK == 0, which should be the case on any system that lacks symlink support. */ - if (ELOOP && ! HAVE_WORKING_O_NOFOLLOW) + if (HAVE_READLINK && ! HAVE_WORKING_O_NOFOLLOW) { struct stat sb1; result = lstat (dir, &sb1); diff --git a/lib/inet_ntop.c b/lib/inet_ntop.c index 16eb109210..033847a94b 100644 --- a/lib/inet_ntop.c +++ b/lib/inet_ntop.c @@ -1,6 +1,6 @@ /* inet_ntop.c -- convert IPv4 and IPv6 addresses from binary to text form - Copyright (C) 2005, 2006, 2008 Free Software Foundation, Inc. + Copyright (C) 2005, 2006, 2008, 2009 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -42,10 +42,6 @@ #include <string.h> #include <errno.h> -#ifndef EAFNOSUPPORT -# define EAFNOSUPPORT EINVAL -#endif - #define NS_IN6ADDRSZ 16 #define NS_INT16SZ 2 diff --git a/lib/inet_pton.c b/lib/inet_pton.c index 62ef145950..a9c9bafdef 100644 --- a/lib/inet_pton.c +++ b/lib/inet_pton.c @@ -1,6 +1,6 @@ /* inet_pton.c -- convert IPv4 and IPv6 addresses from text to binary form - Copyright (C) 2006, 2008 Free Software Foundation, Inc. + Copyright (C) 2006, 2008, 2009 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -41,10 +41,6 @@ #include <string.h> #include <errno.h> -#ifndef EAFNOSUPPORT -# define EAFNOSUPPORT EINVAL -#endif - #define NS_INADDRSZ 4 #define NS_IN6ADDRSZ 16 #define NS_INT16SZ 2 diff --git a/lib/lchown.c b/lib/lchown.c index 5bc7074f81..10ba1c9e5c 100644 --- a/lib/lchown.c +++ b/lib/lchown.c @@ -30,16 +30,6 @@ #include <errno.h> #include <sys/stat.h> -/* Some systems don't have EOPNOTSUPP. */ -#ifndef EOPNOTSUPP -# ifdef ENOTSUP -# define EOPNOTSUPP ENOTSUP -# else -/* Some systems don't have ENOTSUP either. */ -# define EOPNOTSUPP EINVAL -# endif -#endif - /* Work just like chown, except when FILE is a symbolic link. In that case, set errno to EOPNOTSUPP and return -1. But if autoconf tests determined that chown modifies diff --git a/lib/openat-priv.h b/lib/openat-priv.h index 9254f6bbad..2280416292 100644 --- a/lib/openat-priv.h +++ b/lib/openat-priv.h @@ -1,6 +1,6 @@ /* Internals for openat-like functions. - Copyright (C) 2005, 2006 Free Software Foundation, Inc. + Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -23,26 +23,6 @@ #define OPENAT_BUFFER_SIZE 512 char *openat_proc_name (char buf[OPENAT_BUFFER_SIZE], int fd, char const *file); -/* Some systems don't have ENOSYS. */ -#ifndef ENOSYS -# ifdef ENOTSUP -# define ENOSYS ENOTSUP -# else -/* Some systems don't have ENOTSUP either. */ -# define ENOSYS EINVAL -# endif -#endif - -/* Some systems don't have EOPNOTSUPP. */ -#ifndef EOPNOTSUPP -# ifdef ENOTSUP -# define EOPNOTSUPP ENOTSUP -# else -/* Some systems don't have ENOTSUP either. */ -# define EOPNOTSUPP EINVAL -# endif -#endif - /* Trying to access a BUILD_PROC_NAME file will fail on systems without /proc support, and even on systems *with* ProcFS support. Return nonzero if the failure may be legitimate, e.g., because /proc is not diff --git a/lib/savewd.c b/lib/savewd.c index c4893ef6f1..f593f94677 100644 --- a/lib/savewd.c +++ b/lib/savewd.c @@ -1,6 +1,6 @@ /* Save and restore the working directory, possibly using a child process. - Copyright (C) 2006, 2007 Free Software Foundation, Inc. + Copyright (C) 2006, 2007, 2009 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -34,10 +34,6 @@ #include "dirname.h" #include "fcntl-safer.h" -#ifndef ESTALE -# define ESTALE -1 -#endif - /* Save the working directory into *WD, if it hasn't been saved already. Return true if a child has been forked to do the real work. */ diff --git a/lib/settime.c b/lib/settime.c index f565492681..366a298d04 100644 --- a/lib/settime.c +++ b/lib/settime.c @@ -1,6 +1,6 @@ /* settime -- set the system clock - Copyright (C) 2002, 2004, 2005, 2006, 2007 Free Software + Copyright (C) 2002, 2004, 2005, 2006, 2007, 2009 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -27,16 +27,6 @@ #include <errno.h> -/* Some systems don't have ENOSYS. */ -#ifndef ENOSYS -# ifdef ENOTSUP -# define ENOSYS ENOTSUP -# else -/* Some systems don't have ENOTSUP either. */ -# define ENOSYS EINVAL -# endif -#endif - /* Set the system time. */ int diff --git a/lib/utimens.c b/lib/utimens.c index 708de10989..f7bc75e653 100644 --- a/lib/utimens.c +++ b/lib/utimens.c @@ -1,7 +1,7 @@ /* Set file access and modification times. - Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Free Software - Foundation, Inc. + Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free + Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the @@ -44,16 +44,6 @@ struct utimbuf }; #endif -/* Some systems don't have ENOSYS. */ -#ifndef ENOSYS -# ifdef ENOTSUP -# define ENOSYS ENOTSUP -# else -/* Some systems don't have ENOTSUP either. */ -# define ENOSYS EINVAL -# endif -#endif - #ifndef __attribute__ # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8) # define __attribute__(x) diff --git a/lib/xgethostname.c b/lib/xgethostname.c index 875d497618..d649b8dcff 100644 --- a/lib/xgethostname.c +++ b/lib/xgethostname.c @@ -1,7 +1,7 @@ /* xgethostname.c -- return current hostname with unlimited length - Copyright (C) 1992, 1996, 2000, 2001, 2003, 2004, 2005, 2006 Free - Software Foundation, Inc. + Copyright (C) 1992, 1996, 2000, 2001, 2003, 2004, 2005, 2006, 2009 + Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -29,10 +29,6 @@ #include "xalloc.h" -#ifndef ENAMETOOLONG -# define ENAMETOOLONG 0 -#endif - #ifndef INITIAL_HOSTNAME_LENGTH # define INITIAL_HOSTNAME_LENGTH 34 #endif diff --git a/m4/chdir-safer.m4 b/m4/chdir-safer.m4 index 22ad50673c..d6e741d9dd 100644 --- a/m4/chdir-safer.m4 +++ b/m4/chdir-safer.m4 @@ -1,5 +1,5 @@ -#serial 3 -dnl Copyright (C) 2005, 2006 Free Software Foundation, Inc. +#serial 4 +dnl Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -7,4 +7,5 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_CHDIR_SAFER], [ AC_LIBOBJ([chdir-safer]) + AC_CHECK_FUNCS_ONCE([readlink]) ]) diff --git a/modules/c-stack b/modules/c-stack index 6a589c3145..22dd18c1af 100644 --- a/modules/c-stack +++ b/modules/c-stack @@ -8,6 +8,7 @@ m4/c-stack.m4 Depends-on: gettext-h +errno exitfail unistd raise diff --git a/modules/canonicalize b/modules/canonicalize index 23baa7594c..e24be3d177 100644 --- a/modules/canonicalize +++ b/modules/canonicalize @@ -9,6 +9,7 @@ m4/canonicalize.m4 Depends-on: areadlink-with-size +errno file-set filenamecat hash-triple diff --git a/modules/chdir-safer b/modules/chdir-safer index b3b47e16f6..39cfdc7f6b 100644 --- a/modules/chdir-safer +++ b/modules/chdir-safer @@ -7,6 +7,7 @@ lib/chdir-safer.c m4/chdir-safer.m4 Depends-on: +errno fchdir fcntl-h open diff --git a/modules/fdopendir b/modules/fdopendir index 7a90aa367f..83c2af7d32 100644 --- a/modules/fdopendir +++ b/modules/fdopendir @@ -8,8 +8,9 @@ lib/openat-proc.c m4/fdopendir.m4 Depends-on: -extensions dirent +errno +extensions fchdir openat-die save-cwd diff --git a/modules/inet_ntop b/modules/inet_ntop index 98df38e51c..76ff39da79 100644 --- a/modules/inet_ntop +++ b/modules/inet_ntop @@ -9,6 +9,7 @@ Depends-on: socklen sys_socket arpa_inet +errno netinet_in extensions diff --git a/modules/inet_pton b/modules/inet_pton index 173710ab81..314bf0f9c2 100644 --- a/modules/inet_pton +++ b/modules/inet_pton @@ -10,6 +10,7 @@ c-ctype socklen sys_socket arpa_inet +errno netinet_in extensions diff --git a/modules/lchown b/modules/lchown index e011e2bddb..65c084c933 100644 --- a/modules/lchown +++ b/modules/lchown @@ -7,6 +7,7 @@ m4/lchown.m4 Depends-on: chown +errno sys_stat unistd diff --git a/modules/openat b/modules/openat index 5c326a07d5..3ea5b4d7cc 100644 --- a/modules/openat +++ b/modules/openat @@ -16,6 +16,7 @@ m4/mode_t.m4 Depends-on: dirname +errno extensions fchdir fdopendir diff --git a/modules/savewd b/modules/savewd index 360d4b9a38..6d655c17e3 100644 --- a/modules/savewd +++ b/modules/savewd @@ -8,6 +8,7 @@ m4/savewd.m4 Depends-on: dirname +errno exit fchdir fcntl-safer diff --git a/modules/settime b/modules/settime index 9ca84a027e..f88318ed89 100644 --- a/modules/settime +++ b/modules/settime @@ -7,6 +7,7 @@ m4/settime.m4 Depends-on: clock-time +errno extensions sys_time timespec diff --git a/modules/utimens b/modules/utimens index caf8805d6a..425148521c 100644 --- a/modules/utimens +++ b/modules/utimens @@ -9,6 +9,7 @@ m4/utimens.m4 m4/utimes.m4 Depends-on: +errno sys_time time |