getcwd: minor cleanups
authorEric Blake <ebb9@byu.net>
Mon, 7 Sep 2009 11:51:20 +0000 (05:51 -0600)
committerEric Blake <ebb9@byu.net>
Mon, 7 Sep 2009 16:02:20 +0000 (10:02 -0600)
* lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
(is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.

Signed-off-by: Eric Blake <ebb9@byu.net>
ChangeLog
lib/getcwd.c

index f7ac99c..771a9a9 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2009-09-07  Eric Blake  <ebb9@byu.net>
 
+       getcwd: minor cleanups
+       * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
+       (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
+
        openat: provide more convenience names
        * modules/faccessat (configure.ac): Add C witness.
        * lib/unistd.in.h (readlinkat): Fix typo.
index 2da1aee..6658ed5 100644 (file)
 
 #include <limits.h>
 
-/* Work around a bug in Solaris 9 and 10: AT_FDCWD is positive.  Its
-   value exceeds INT_MAX, so its use as an int doesn't conform to the
-   C standard, and GCC and Sun C complain in some cases.  */
-#if 0 < AT_FDCWD && AT_FDCWD == 0xffd19553
-# undef AT_FDCWD
-# define AT_FDCWD (-3041965)
-#endif
-
-#ifdef ENAMETOOLONG
-# define is_ENAMETOOLONG(x) ((x) == ENAMETOOLONG)
-#else
-# define is_ENAMETOOLONG(x) 0
-#endif
-
 #ifndef MAX
 # define MAX(a, b) ((a) < (b) ? (b) : (a))
 #endif
@@ -164,7 +150,7 @@ __getcwd (char *buf, size_t size)
 
 # undef getcwd
   dir = getcwd (buf, size);
-  if (dir || (errno != ERANGE && !is_ENAMETOOLONG (errno) && errno != ENOENT))
+  if (dir || (errno != ERANGE && errno != ENAMETOOLONG && errno != ENOENT))
     return dir;
 #endif