From: Hartmut Holzgraefe Date: Tue, 3 Jun 2003 11:01:16 +0000 (+0000) Subject: handle return value for "no matches" on systems that don't return X-Git-Tag: RELEASE_1_0_2~448 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c83ed19a7b488b44172120e76cb09119a99cde4b;p=php handle return value for "no matches" on systems that don't return GLOB_NOMATCH consistent to those that do (return array(), not FALSE) --- 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;