summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorPierre Joye <pajoye@php.net>2009-01-20 01:41:19 +0000
committerPierre Joye <pajoye@php.net>2009-01-20 01:41:19 +0000
commita351279a2ff38538f537fd58d6e5ad77ed8d0d5e (patch)
tree8ec7b8f89aa68007af3cd775b8a91703e0aa527e /ext
parent96352b5277fcbed2d426e7f415402b83e6493652 (diff)
downloadphp-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.c3
-rw-r--r--ext/standard/tests/file/fnmatch_basic.phpt3
-rw-r--r--ext/standard/tests/file/fnmatch_error.phpt3
-rw-r--r--ext/standard/tests/file/fnmatch_variation.phpt8
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(