From 61747bd041513f4e7c04fdc4890fbd1a6e76b907 Mon Sep 17 00:00:00 2001 From: Anatoliy Belsky Date: Mon, 2 Apr 2012 17:19:09 +0200 Subject: Fix bug #61565 Fileinfo ext\fileinfo\tests\finfo_file_001.phpt fails --- ext/fileinfo/fileinfo.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/ext/fileinfo/fileinfo.c b/ext/fileinfo/fileinfo.c index 29f9bebbc8..757ba04ac1 100644 --- a/ext/fileinfo/fileinfo.c +++ b/ext/fileinfo/fileinfo.c @@ -510,11 +510,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) { -- cgit v1.2.1