author | Rich Burridge <rich.burridge@oracle.com> |
Thu, 25 Oct 2012 13:35:55 -0700 | |
changeset 1028 | 30d7999e80d9 |
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;