diff options
author | Pierre Joye <pajoye@php.net> | 2009-01-20 01:41:19 +0000 |
---|---|---|
committer | Pierre Joye <pajoye@php.net> | 2009-01-20 01:41:19 +0000 |
commit | a351279a2ff38538f537fd58d6e5ad77ed8d0d5e (patch) | |
tree | 8ec7b8f89aa68007af3cd775b8a91703e0aa527e /ext | |
parent | 96352b5277fcbed2d426e7f415402b83e6493652 (diff) | |
download | php-git-a351279a2ff38538f537fd58d6e5ad77ed8d0d5e.tar.gz |
- MFB
- [DOC] add support for fnmatch() on Windows
- enable tests (pass)
Diffstat (limited to 'ext')
-rw-r--r-- | ext/standard/file.c | 3 | ||||
-rw-r--r-- | ext/standard/tests/file/fnmatch_basic.phpt | 3 | ||||
-rw-r--r-- | ext/standard/tests/file/fnmatch_error.phpt | 3 | ||||
-rw-r--r-- | ext/standard/tests/file/fnmatch_variation.phpt | 8 |
4 files changed, 7 insertions, 10 deletions
diff --git a/ext/standard/file.c b/ext/standard/file.c index 1c744a396e..553c44e0ef 100644 --- a/ext/standard/file.c +++ b/ext/standard/file.c @@ -48,6 +48,7 @@ #define O_RDONLY _O_RDONLY #include "win32/param.h" #include "win32/winutil.h" +#include "win32/fnmatch.h" #elif defined(NETWARE) #include <sys/param.h> #include <sys/select.h> @@ -115,7 +116,7 @@ int file_globals_id; php_file_globals file_globals; #endif -#ifdef HAVE_FNMATCH +#if defined(HAVE_FNMATCH) && !defined(PHP_WIN32) #ifndef _GNU_SOURCE #define _GNU_SOURCE #endif diff --git a/ext/standard/tests/file/fnmatch_basic.phpt b/ext/standard/tests/file/fnmatch_basic.phpt index 9f8f4dbb4d..189605169d 100644 --- a/ext/standard/tests/file/fnmatch_basic.phpt +++ b/ext/standard/tests/file/fnmatch_basic.phpt @@ -2,9 +2,6 @@ Test fnmatch() function: Basic functionality --SKIPIF-- <?php -if (substr(PHP_OS, 0, 3) == 'WIN') - die("skip do not run on Windows"); - if (!function_exists('fnmatch')) die("skip fnmatch() function is not available"); ?> diff --git a/ext/standard/tests/file/fnmatch_error.phpt b/ext/standard/tests/file/fnmatch_error.phpt index 77a2a386e5..1b175b0852 100644 --- a/ext/standard/tests/file/fnmatch_error.phpt +++ b/ext/standard/tests/file/fnmatch_error.phpt @@ -2,9 +2,6 @@ Test fnmatch() function: Error conditions --SKIPIF-- <?php -if (substr(PHP_OS, 0, 3) == 'WIN') - die("skip do not run on Windows"); - if (!function_exists('fnmatch')) die("skip fnmatch() function is not available"); ?> diff --git a/ext/standard/tests/file/fnmatch_variation.phpt b/ext/standard/tests/file/fnmatch_variation.phpt index 34cc0b8e4c..e65bdd0555 100644 --- a/ext/standard/tests/file/fnmatch_variation.phpt +++ b/ext/standard/tests/file/fnmatch_variation.phpt @@ -2,9 +2,6 @@ Test fnmatch() function: Variations --SKIPIF-- <?php -if (substr(PHP_OS, 0, 3) == 'WIN') - die("skip do not run on Windows"); - if (!function_exists('fnmatch')) die("skip fnmatch() function is not available"); ?> @@ -18,6 +15,11 @@ if (!function_exists('fnmatch')) echo "*** Testing fnmatch() with file and various patterns ***\n"; $file_name = dirname(__FILE__)."/match.tmp"; +/* avoid using \, it breaks the pattern */ +if (substr(PHP_OS, 0, 3) == 'WIN') { + $file_name = str_replace('\\','/', $file_name); +} + fopen($file_name, "w"); $pattern_arr = array( |