From: Anatoliy Belsky Date: Mon, 2 Apr 2012 15:19:09 +0000 (+0200) Subject: Fix bug #61565 Fileinfo ext\fileinfo\tests\finfo_file_001.phpt fails X-Git-Tag: php-5.3.14RC1~116 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0cdba53aae783fd63f0aa525bc92e73d9e4c0aab;p=php Fix bug #61565 Fileinfo ext\fileinfo\tests\finfo_file_001.phpt fails --- diff --git a/ext/fileinfo/fileinfo.c b/ext/fileinfo/fileinfo.c index caab03bac3..2c0e39a714 100644 --- a/ext/fileinfo/fileinfo.c +++ b/ext/fileinfo/fileinfo.c @@ -515,11 +515,22 @@ static void _php_finfo_get_type(INTERNAL_FUNCTION_PARAMETERS, int mode, int mime wrap = php_stream_locate_url_wrapper(buffer, &tmp2, 0 TSRMLS_CC); if (wrap) { + php_stream *stream; php_stream_context *context = php_stream_context_from_zval(zcontext, 0); + +#ifdef PHP_WIN32 + if (php_stream_stat_path_ex(buffer, 0, &ssb, context) == SUCCESS) { + if (ssb.sb.st_mode & S_IFDIR) { + ret_val = mime_directory; + goto common; + } + } +#endif + #if PHP_API_VERSION < 20100412 - php_stream *stream = php_stream_open_wrapper_ex(buffer, "rb", ENFORCE_SAFE_MODE | REPORT_ERRORS, NULL, context); + stream = php_stream_open_wrapper_ex(buffer, "rb", ENFORCE_SAFE_MODE | REPORT_ERRORS, NULL, context); #else - php_stream *stream = php_stream_open_wrapper_ex(buffer, "rb", REPORT_ERRORS, NULL, context); + stream = php_stream_open_wrapper_ex(buffer, "rb", REPORT_ERRORS, NULL, context); #endif if (!stream) {