author | Stefan Teleman <stefan.teleman@oracle.com> |
Tue, 24 Jul 2012 10:14:00 -0700 | |
changeset 927 | 19eda0ce91e0 |
parent 154 | 55225e51a9cb |
permissions | -rw-r--r-- |
--- tar-1.26/gnu/xgetcwd.c.orig Thu Mar 17 12:53:26 2011 +++ tar-1.26/gnu/xgetcwd.c Thu Mar 17 12:53:35 2011 @@ -26,6 +26,7 @@ #include <errno.h> #include <unistd.h> +#include <limits.h> #include "xalloc.h" @@ -36,7 +37,14 @@ char * xgetcwd (void) { - char *cwd = getcwd (NULL, 0); + char *cwd; +#ifdef HAVE_PARTLY_WORKING_GETCWD + cwd = getcwd (NULL, 0); +#else + cwd = malloc(PATH_MAX); + if (cwd) + getcwd (cwd, PATH_MAX); +#endif if (! cwd && errno == ENOMEM) xalloc_die (); return cwd;