mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-25 06:20:06 +00:00
[BZ #5103]
* posix/glob.c (glob): Recognize patterns starting \/. * posix/tst-gnuglob.c (find_file): Handle absolute path names. (main): Add test for pattern starting \/.
This commit is contained in:
parent
a1a363d20c
commit
c8d48faef0
@ -1,5 +1,10 @@
|
||||
2007-10-07 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
[BZ #5103]
|
||||
* posix/glob.c (glob): Recognize patterns starting \/.
|
||||
* posix/tst-gnuglob.c (find_file): Handle absolute path names.
|
||||
(main): Add test for pattern starting \/.
|
||||
|
||||
* misc/error.h: Use __const instead of const.
|
||||
* misc/bits/error.h: Likewise.
|
||||
|
||||
|
@ -454,9 +454,10 @@ glob (pattern, flags, errfunc, pglob)
|
||||
dirlen = 0;
|
||||
}
|
||||
}
|
||||
else if (filename == pattern)
|
||||
else if (filename == pattern
|
||||
|| (filename == pattern + 1 && pattern[0] == '\\'))
|
||||
{
|
||||
/* "/pattern". */
|
||||
/* "/pattern" or "\\/pattern". */
|
||||
dirname = "/";
|
||||
dirlen = 1;
|
||||
++filename;
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* Test the GNU extensions in glob which allow the user to provide callbacks
|
||||
for the filesystem access functions.
|
||||
Copyright (C) 2001-2002 Free Software Foundation, Inc.
|
||||
Copyright (C) 2001-2002, 2007 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@redhat.com>, 2001.
|
||||
|
||||
@ -103,6 +103,16 @@ find_file (const char *s)
|
||||
int level = 1;
|
||||
long int idx = 0;
|
||||
|
||||
while (s[0] == '/')
|
||||
{
|
||||
if (s[1] == '\0')
|
||||
{
|
||||
s = ".";
|
||||
break;
|
||||
}
|
||||
++s;
|
||||
}
|
||||
|
||||
if (strcmp (s, ".") == 0)
|
||||
return 0;
|
||||
|
||||
@ -439,6 +449,12 @@ main (void)
|
||||
"dir2lev1/dir1lev2/.dir",
|
||||
"dir2lev1/dir1lev2/.foo");
|
||||
|
||||
test ("\\/*", GLOB_ALTDIRFUNC,
|
||||
"/dir1lev1",
|
||||
"/dir2lev1",
|
||||
"/file1lev1",
|
||||
"/file2lev1");
|
||||
|
||||
globfree (&gl);
|
||||
|
||||
return result;
|
||||
|
Loading…
Reference in New Issue
Block a user