author | Mike Sullivan <Mike.Sullivan@Oracle.COM> |
Mon, 11 Mar 2013 10:38:09 -0700 | |
branch | s11-update |
changeset 2520 | ceec631e74d1 |
parent 154 | 55225e51a9cb |
permissions | -rw-r--r-- |
154
55225e51a9cb
7027121 GNU tar 1.26
Petr Sumbera <petr.sumbera@oracle.com>
parents:
115
diff
changeset
|
1 |
--- tar-1.26/gnu/xgetcwd.c.orig Thu Mar 17 12:53:26 2011 |
55225e51a9cb
7027121 GNU tar 1.26
Petr Sumbera <petr.sumbera@oracle.com>
parents:
115
diff
changeset
|
2 |
+++ tar-1.26/gnu/xgetcwd.c Thu Mar 17 12:53:35 2011 |
55225e51a9cb
7027121 GNU tar 1.26
Petr Sumbera <petr.sumbera@oracle.com>
parents:
115
diff
changeset
|
3 |
@@ -26,6 +26,7 @@ |
55225e51a9cb
7027121 GNU tar 1.26
Petr Sumbera <petr.sumbera@oracle.com>
parents:
115
diff
changeset
|
4 |
|
55225e51a9cb
7027121 GNU tar 1.26
Petr Sumbera <petr.sumbera@oracle.com>
parents:
115
diff
changeset
|
5 |
#include <errno.h> |
55225e51a9cb
7027121 GNU tar 1.26
Petr Sumbera <petr.sumbera@oracle.com>
parents:
115
diff
changeset
|
6 |
#include <unistd.h> |
55225e51a9cb
7027121 GNU tar 1.26
Petr Sumbera <petr.sumbera@oracle.com>
parents:
115
diff
changeset
|
7 |
+#include <limits.h> |
55225e51a9cb
7027121 GNU tar 1.26
Petr Sumbera <petr.sumbera@oracle.com>
parents:
115
diff
changeset
|
8 |
|
55225e51a9cb
7027121 GNU tar 1.26
Petr Sumbera <petr.sumbera@oracle.com>
parents:
115
diff
changeset
|
9 |
#include "xalloc.h" |
55225e51a9cb
7027121 GNU tar 1.26
Petr Sumbera <petr.sumbera@oracle.com>
parents:
115
diff
changeset
|
10 |
|
55225e51a9cb
7027121 GNU tar 1.26
Petr Sumbera <petr.sumbera@oracle.com>
parents:
115
diff
changeset
|
11 |
@@ -36,7 +37,14 @@ |
72
4c33a310f793
7015633 move gtar to userland
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
12 |
char * |
4c33a310f793
7015633 move gtar to userland
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
13 |
xgetcwd (void) |
4c33a310f793
7015633 move gtar to userland
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
14 |
{ |
4c33a310f793
7015633 move gtar to userland
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
15 |
- char *cwd = getcwd (NULL, 0); |
4c33a310f793
7015633 move gtar to userland
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
16 |
+ char *cwd; |
4c33a310f793
7015633 move gtar to userland
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
17 |
+#ifdef HAVE_PARTLY_WORKING_GETCWD |
4c33a310f793
7015633 move gtar to userland
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
18 |
+ cwd = getcwd (NULL, 0); |
4c33a310f793
7015633 move gtar to userland
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
19 |
+#else |
4c33a310f793
7015633 move gtar to userland
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
20 |
+ cwd = malloc(PATH_MAX); |
4c33a310f793
7015633 move gtar to userland
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
21 |
+ if (cwd) |
4c33a310f793
7015633 move gtar to userland
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
22 |
+ getcwd (cwd, PATH_MAX); |
4c33a310f793
7015633 move gtar to userland
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
23 |
+#endif |
4c33a310f793
7015633 move gtar to userland
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
24 |
if (! cwd && errno == ENOMEM) |
4c33a310f793
7015633 move gtar to userland
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
25 |
xalloc_die (); |
4c33a310f793
7015633 move gtar to userland
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
26 |
return cwd; |