changeset 3343:1ff924ca3a9a

(xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]: Simply `return getcwd (NULL, 0);'. [! (defined __GLIBC__ && __GLIBC__ >= 2)]: Use 1300 as initial value for length, not PATH_MAX.
author Jim Meyering <jim@meyering.net>
date Sun, 12 Aug 2001 20:11:39 +0000
parents cff7d5b8a08e
children 6cf36abcf4e5
files lib/xgetcwd.c
diffstat 1 files changed, 6 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/lib/xgetcwd.c
+++ b/lib/xgetcwd.c
@@ -1,5 +1,5 @@
 /* xgetcwd.c -- return current directory with unlimited length
-   Copyright (C) 1992, 1996, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1992, 1996, 2000, 2001 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
@@ -47,6 +47,9 @@
 char *
 xgetcwd ()
 {
+#if defined __GLIBC__ && __GLIBC__ >= 2
+  return getcwd (NULL, 0);
+#else
   char *ret;
   unsigned path_max;
   char buf[1024];
@@ -58,7 +61,7 @@
   if (errno != ERANGE)
     return NULL;
 
-  path_max = (unsigned) PATH_MAX;
+  path_max = 1300;
   path_max += 2;		/* The getcwd docs say to do this. */
 
   for (;;)
@@ -82,4 +85,5 @@
       path_max += path_max / 16;
       path_max += 32;
     }
+#endif
 }