[RFC][BZ #10278] glob() gives inconsistent results with trailing "/"
Ondřej Bílka
neleai@seznam.cz
Thu Oct 3 07:59:00 GMT 2013
Hi,
For this bug https://sourceware.org/bugzilla/show_bug.cgi?id=10278 there
is a simple fix when we have DIRENT_H defined.
For cross platform solution we would need surround this by ifdefs when
separator is not slash and handling case of no dirent.
Comments?
diff --git a/posix/glob.c b/posix/glob.c
index 4c7dce5..ab5b4cb 100644
--- a/posix/glob.c
+++ b/posix/glob.c
@@ -276,6 +276,9 @@ glob (pattern, flags, errfunc, pglob)
return -1;
}
+ if (pattern[0] && pattern[strlen (pattern) - 1] == '/')
+ flags |= GLOB_ONLYDIR;
+
if (!(flags & GLOB_DOOFFS))
/* Have to do this so `globfree' knows where to start freeing. It
also makes all the code that uses gl_offs simpler. */
More information about the Libc-alpha
mailing list