changeset 11970:63e8cd4fe93a

getcwd: minor cleanups * 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>
author Eric Blake <ebb9@byu.net>
date Mon, 07 Sep 2009 05:51:20 -0600
parents 25d12bf7e5bf
children 229df0a197d3
files ChangeLog lib/getcwd.c
diffstat 2 files changed, 5 insertions(+), 15 deletions(-) [+]
line wrap: on
line diff
--- 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.
--- a/lib/getcwd.c
+++ b/lib/getcwd.c
@@ -59,20 +59,6 @@
 
 #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 @@
 
 # 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