php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login

Patch 63590.path for *Directory/Filesystem functions Bug #63590

Patch version 2012-11-23 19:31 UTC

Return to Bug #63590 | Download this patch
Patch Revisions:

Developer: ab@php.net

diff --git a/ext/fileinfo/libmagic/apprentice.c b/ext/fileinfo/libmagic/apprentice.c
index ee1ad4d..e88a3e6 100644
--- a/ext/fileinfo/libmagic/apprentice.c
+++ b/ext/fileinfo/libmagic/apprentice.c
@@ -2406,7 +2406,11 @@ mkdbname(struct magic_set *ms, const char *fn, int strip)
 	/* Compatibility with old code that looked in .mime */
 	if (ms->flags & MAGIC_MIME) {
 		spprintf(&buf, MAXPATHLEN, "%.*s.mime%s", (int)(q - fn), fn, ext);
+#ifdef PHP_WIN32
+		if (VCWD_ACCESS(buf, R_OK) == 0) {
+#else
 		if (VCWD_ACCESS(buf, R_OK) != -1) {
+#endif
 			ms->flags &= MAGIC_MIME_TYPE;
 			return buf;
 		}
diff --git a/ext/fileinfo/tests/finfo_file_regex-win32.phpt b/ext/fileinfo/tests/finfo_file_regex-win32.phpt
deleted file mode 100644
index 1eda48c..0000000
--- a/ext/fileinfo/tests/finfo_file_regex-win32.phpt
+++ /dev/null
@@ -1,36 +0,0 @@
---TEST--
-Test finfo_file() function : regex rules
---SKIPIF--
-<?php require_once(dirname(__FILE__) . '/skipif.inc'); 
-if (substr(PHP_OS, 0, 3) != 'WIN') {
-    die('skip.. only for Windows');
-}
-?>
---FILE--
-<?php
-/**
- * Works with the unix file command:
- * $ file -m magic resources/test.awk
- * resources/test.awk: awk script, ASCII text
- */
-$magicFile = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'magic';
-$finfo = finfo_open( FILEINFO_MIME, $magicFile );
-
-echo "*** Testing finfo_file() : regex rules ***\n";
-
-// Calling finfo_file() with all possible arguments
-$file = __DIR__ . '/resources/test.awk';
-var_dump( finfo_file( $finfo, $file ) );
-var_dump( finfo_file( $finfo, $file, FILEINFO_CONTINUE ) );
-
-// Windows uses libfileinfo 1.0.5-dev
-// this may be causing the slightly different output from the first
-// finfo_file() call
-
-?>
-===DONE===
---EXPECTF--
-*** Testing finfo_file() : regex rules ***
-string(10) "text/plain"
-string(22) "awk script, ASCII text"
-===DONE===
diff --git a/ext/fileinfo/tests/finfo_file_regex.phpt b/ext/fileinfo/tests/finfo_file_regex.phpt
index ee4c8b0..7d9cd3a 100644
--- a/ext/fileinfo/tests/finfo_file_regex.phpt
+++ b/ext/fileinfo/tests/finfo_file_regex.phpt
@@ -2,9 +2,6 @@
 Test finfo_file() function : regex rules
 --SKIPIF--
 <?php require_once(dirname(__FILE__) . '/skipif.inc'); 
-if (substr(PHP_OS, 0, 3) == 'WIN') {
-    die('skip.. only for Non Windows Systems');
-}
 ?>
 --FILE--
 <?php
diff --git a/ext/fileinfo/tests/finfo_open_error-win32.phpt b/ext/fileinfo/tests/finfo_open_error-win32.phpt
deleted file mode 100644
index bd50327..0000000
--- a/ext/fileinfo/tests/finfo_open_error-win32.phpt
+++ /dev/null
@@ -1,46 +0,0 @@
---TEST--
-Test finfo_open() function : error functionality 
---SKIPIF--
-<?php require_once(dirname(__FILE__) . '/skipif.inc'); 
-if(substr(PHP_OS, 0, 3) != 'WIN' )
-  die("skip Not Valid for Linux");
-?>
---FILE--
-<?php
-/* Prototype  : resource finfo_open([int options [, string arg]])
- * Description: Create a new fileinfo resource. 
- * Source code: ext/fileinfo/fileinfo.c
- * Alias to functions: 
- */
-
-$magicFile = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'magic';
-
-echo "*** Testing finfo_open() : error functionality ***\n";
-
-var_dump( finfo_open( FILEINFO_MIME, 'foobarfile' ) );
-var_dump( finfo_open( array(), $magicFile ) );
-var_dump( finfo_open( FILEINFO_MIME, $magicFile, 'extraArg' ) );
-var_dump( finfo_open( PHP_INT_MAX - 1, $magicFile ) );
-var_dump( finfo_open( 'foobar' ) );
-
-var_dump( new finfo('foobar') );
-
-?>
-===DONE===
---EXPECTF--
-*** Testing finfo_open() : error functionality ***
-bool(false)
-
-Warning: finfo_open() expects parameter 1 to be long, array given in %s on line %d
-bool(false)
-
-Warning: finfo_open() expects at most 2 parameters, 3 given in %s on line %d
-bool(false)
-resource(%d) of type (file_info)
-
-Warning: finfo_open() expects parameter 1 to be long, %unicode_string_optional% given in %s on line %d
-bool(false)
-
-Warning: finfo::finfo() expects parameter 1 to be long, %unicode_string_optional% given in %s on line %d
-NULL
-===DONE===
diff --git a/ext/fileinfo/tests/finfo_open_error.phpt b/ext/fileinfo/tests/finfo_open_error.phpt
index 7bf60bf..b4448a2 100644
--- a/ext/fileinfo/tests/finfo_open_error.phpt
+++ b/ext/fileinfo/tests/finfo_open_error.phpt
@@ -2,9 +2,6 @@
 Test finfo_open() function : error functionality 
 --SKIPIF--
 <?php require_once(dirname(__FILE__) . '/skipif.inc'); 
-if(substr(PHP_OS, 0, 3) == 'WIN' )
-  die("skip Not Valid for Windows");
-?>
 --FILE--
 <?php
 /* Prototype  : resource finfo_open([int options [, string arg]])
 
PHP Copyright © 2001-2014 The PHP Group
All rights reserved.
Last updated: Wed Apr 16 13:02:46 2014 UTC