summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--m4/getcwd-path-max.m47
2 files changed, 12 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index df5abe7536..55c6440505 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2007-03-29 Paul Eggert <eggert@cs.ucla.edu>
+
+ * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
+ try to remove a parent directory if the child couldn't be removed
+ (except for the first rmdir, which could fail because the child
+ doesn't exist). Problem reported by Jeff Blaine in
+ <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
+
2007-03-28 Bruno Haible <bruno@clisp.org>
* lib/striconveh.c (utf8conv_carefully): New function.
diff --git a/m4/getcwd-path-max.m4 b/m4/getcwd-path-max.m4
index 3d0af87517..5e6d58bdae 100644
--- a/m4/getcwd-path-max.m4
+++ b/m4/getcwd-path-max.m4
@@ -1,4 +1,4 @@
-#serial 12
+#serial 13
# Check for several getcwd bugs with long file names.
# If so, arrange to compile the wrapper function.
@@ -6,7 +6,7 @@
# I've heard that this is due to a Linux kernel bug, and that it has
# been fixed between 2.4.21-pre3 and 2.4.21-pre4. */
-# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -163,7 +163,8 @@ main ()
{
if (chdir ("..") < 0)
break;
- rmdir (DIR_NAME);
+ if (rmdir (DIR_NAME) != 0)
+ break;
}
}