components/gtar/patches/xgetcwd.patch
author Mike Sullivan <Mike.Sullivan@Oracle.COM>
Mon, 11 Mar 2013 10:38:09 -0700
branchs11-update
changeset 2520 ceec631e74d1
parent 154 55225e51a9cb
permissions -rw-r--r--
Close of build 10.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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;