svn commit: r303011 - head/lib/libc/gen

Andrey A. Chernov ache at FreeBSD.org
Mon Jul 18 19:20:50 UTC 2016


Author: ache
Date: Mon Jul 18 19:20:49 2016
New Revision: 303011
URL: https://svnweb.freebsd.org/changeset/base/303011

Log:
  Change patch from r303004 case 3. According to POSIX gl_errfunc should be
  called first, then GLOB_ERR should be considered.

Modified:
  head/lib/libc/gen/glob.c

Modified: head/lib/libc/gen/glob.c
==============================================================================
--- head/lib/libc/gen/glob.c	Mon Jul 18 18:24:31 2016	(r303010)
+++ head/lib/libc/gen/glob.c	Mon Jul 18 19:20:49 2016	(r303011)
@@ -714,9 +714,7 @@ glob3(Char *pathbuf, Char *pathend, Char
 	if ((dirp = g_opendir(pathbuf, pglob)) == NULL) {
 		if (errno == ENOENT || errno == ENOTDIR)
 			return (0);
-		if (pglob->gl_flags & GLOB_ERR)
-			return (GLOB_ABORTED);
-		if (pglob->gl_errfunc) {
+		if (pglob->gl_errfunc != NULL) {
 			if (g_Ctoc(pathbuf, buf, sizeof(buf))) {
 				errno = 0;
 				return (GLOB_NOSPACE);
@@ -724,6 +722,8 @@ glob3(Char *pathbuf, Char *pathend, Char
 			if (pglob->gl_errfunc(buf, errno))
 				return (GLOB_ABORTED);
 		}
+		if (pglob->gl_flags & GLOB_ERR)
+			return (GLOB_ABORTED);
 		return (0);
 	}
 


More information about the svn-src-head mailing list