diff options
author | Ulrich Drepper <drepper@redhat.com> | 2002-04-04 08:12:33 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2002-04-04 08:12:33 +0000 |
commit | d3d48616c177f32363877eea30b06f79a0f8907d (patch) | |
tree | 7ecf81e7a0be372d7e85843b0cf9fbd56407c96d /misc | |
parent | 4a10c7fec7babe4b74d070c1d5ff575ca8abe31b (diff) | |
download | glibc-d3d48616c177f32363877eea30b06f79a0f8907d.tar glibc-d3d48616c177f32363877eea30b06f79a0f8907d.tar.gz glibc-d3d48616c177f32363877eea30b06f79a0f8907d.tar.bz2 glibc-d3d48616c177f32363877eea30b06f79a0f8907d.zip |
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.
Diffstat (limited to 'misc')
-rw-r--r-- | misc/dirname.c | 4 | ||||
-rw-r--r-- | misc/tst-dirname.c | 6 |
2 files changed, 8 insertions, 2 deletions
diff --git a/misc/dirname.c b/misc/dirname.c index b1a0e0c2ac..94ab1c085f 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 0808b839df..a428786db6 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; } |