aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2002-04-04 08:12:33 +0000
committerUlrich Drepper <drepper@redhat.com>2002-04-04 08:12:33 +0000
commitd3d48616c177f32363877eea30b06f79a0f8907d (patch)
tree7ecf81e7a0be372d7e85843b0cf9fbd56407c96d
parent4a10c7fec7babe4b74d070c1d5ff575ca8abe31b (diff)
downloadglibc-d3d48616c177f32363877eea30b06f79a0f8907d.zip
glibc-d3d48616c177f32363877eea30b06f79a0f8907d.tar.gz
glibc-d3d48616c177f32363877eea30b06f79a0f8907d.tar.bz2
Update.
2002-04-04 Ulrich Drepper <drepper@redhat.com> * misc/dirname.c (dirname): Ignore trailing slashes at end of non-null result [PR libc/2600]. * misc/tst-dirname.c: Add more tests.
-rw-r--r--ChangeLog7
-rw-r--r--misc/dirname.c4
-rw-r--r--misc/tst-dirname.c6
3 files changed, 15 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 0644cec..252a5cd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2002-04-04 Ulrich Drepper <drepper@redhat.com>
+
+ * misc/dirname.c (dirname): Ignore trailing slashes at end of
+ non-null result [PR libc/2600].
+
+ * misc/tst-dirname.c: Add more tests.
+
2002-04-03 Ulrich Drepper <drepper@redhat.com>
* locale/programs/charmap.c (charmap_read): If the charmap doesn't
diff --git a/misc/dirname.c b/misc/dirname.c
index b1a0e0c..94ab1c0 100644
--- a/misc/dirname.c
+++ b/misc/dirname.c
@@ -1,5 +1,5 @@
/* dirname - return directory part of PATH.
- Copyright (C) 1996, 2000, 2001 Free Software Foundation, Inc.
+ Copyright (C) 1996, 2000, 2001, 2002 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
@@ -66,6 +66,8 @@ dirname (char *path)
else
last_slash = path + 1;
}
+ else
+ last_slash = runp;
last_slash[0] = '\0';
}
diff --git a/misc/tst-dirname.c b/misc/tst-dirname.c
index 0808b83..a428786 100644
--- a/misc/tst-dirname.c
+++ b/misc/tst-dirname.c
@@ -1,5 +1,5 @@
/* Test program for dirname function a la XPG.
- Copyright (C) 1996, 2000, 2001 Free Software Foundation, Inc.
+ Copyright (C) 1996, 2000, 2001, 2002 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
@@ -62,5 +62,9 @@ main (void)
result |= test ("//usr//", "//");
result |= test ("//", "//");
+ /* Other Unix implementations behave like this. */
+ result |= test ("x///y", "x");
+ result |= test ("x/////y", "x");
+
return result != 0;
}