diff options
author | Anatoliy Belsky <ab@php.net> | 2012-04-02 17:19:09 +0200 |
---|---|---|
committer | Johannes Schlüter <johannes@php.net> | 2012-04-12 11:11:58 +0200 |
commit | 56771b86481c7d5fdd92b1e8e1a29b662513f904 (patch) | |
tree | 6b7b9d6ba8d46d9e3e24249de403a4c9215a3858 | |
parent | 11b5738aef70258c8d1da10d0ea64144ab57a2be (diff) | |
download | php-git-56771b86481c7d5fdd92b1e8e1a29b662513f904.tar.gz |
Fix bug #61565 Fileinfo ext\fileinfo\tests\finfo_file_001.phpt fails
-rw-r--r-- | ext/fileinfo/fileinfo.c | 15 |
1 files changed, 13 insertions, 2 deletions
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) { |