Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 18 Jul 2016 19:20:49 +0000 (UTC)
From:      "Andrey A. Chernov" <ache@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r303011 - head/lib/libc/gen
Message-ID:  <201607181920.u6IJKnXS087514@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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);
 	}
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201607181920.u6IJKnXS087514>