From c83ed19a7b488b44172120e76cb09119a99cde4b Mon Sep 17 00:00:00 2001 From: Hartmut Holzgraefe Date: Tue, 3 Jun 2003 11:01:16 +0000 Subject: [PATCH] handle return value for "no matches" on systems that don't return GLOB_NOMATCH consistent to those that do (return array(), not FALSE) --- ext/standard/dir.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/ext/standard/dir.c b/ext/standard/dir.c index 4396a54566..cfa792f477 100644 --- a/ext/standard/dir.c +++ b/ext/standard/dir.c @@ -400,11 +400,16 @@ PHP_FUNCTION(glob) RETURN_FALSE; } +#ifndef GLOB_NOMATCH + // now catch the FreeBSD style of "no matches" + if (!globbuf.gl_pathc) { + array_init(return_value); + return; + } +#endif + /* we assume that any glob pattern will match files from one directory only so checking the dirname of the first match should be sufficient */ - if (!globbuf.gl_pathv) { - RETURN_FALSE; - } strncpy(cwd, globbuf.gl_pathv[0], MAXPATHLEN); if (PG(safe_mode) && (!php_checkuid(cwd, NULL, CHECKUID_CHECK_FILE_AND_DIR))) { RETURN_FALSE; -- 2.50.1