# HG changeset patch # User Jim Meyering # Date 997647099 0 # Node ID 1ff924ca3a9a2aacae009ad5ab97ab2892722c13 # Parent cff7d5b8a08e0ff03064bfa07631d6a4dabb5759 (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]: Simply `return getcwd (NULL, 0);'. [! (defined __GLIBC__ && __GLIBC__ >= 2)]: Use 1300 as initial value for length, not PATH_MAX. diff --git a/lib/xgetcwd.c b/lib/xgetcwd.c --- 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 }