mirror of
https://github.com/coreutils/coreutils.git
synced 2025-01-21 15:43:30 +08:00
(xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
Simply `return getcwd (NULL, 0);'. [! (defined __GLIBC__ && __GLIBC__ >= 2)]: Use 1300 as initial value for length, not PATH_MAX.
This commit is contained in:
parent
8982646a63
commit
79dbd85e74
@ -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 @@ extern void free ();
|
||||
char *
|
||||
xgetcwd ()
|
||||
{
|
||||
#if defined __GLIBC__ && __GLIBC__ >= 2
|
||||
return getcwd (NULL, 0);
|
||||
#else
|
||||
char *ret;
|
||||
unsigned path_max;
|
||||
char buf[1024];
|
||||
@ -58,7 +61,7 @@ xgetcwd ()
|
||||
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 @@ xgetcwd ()
|
||||
path_max += path_max / 16;
|
||||
path_max += 32;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user