pollita Fri Sep 10 17:50:29 2004 EDT Modified files: /php-src/main/streams streams.c Log: A little extra code to allow overriding plainfiles wrapper as well http://cvs.php.net/diff.php/php-src/main/streams/streams.c?r1=1.64&r2=1.65&ty=u Index: php-src/main/streams/streams.c diff -u php-src/main/streams/streams.c:1.64 php-src/main/streams/streams.c:1.65 --- php-src/main/streams/streams.c:1.64 Fri Sep 10 16:45:35 2004 +++ php-src/main/streams/streams.c Fri Sep 10 17:50:29 2004 @@ -19,7 +19,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: streams.c,v 1.64 2004/09/10 20:45:35 pollita Exp $ */ +/* $Id: streams.c,v 1.65 2004/09/10 21:50:29 pollita Exp $ */ #define _GNU_SOURCE #include "php.h" @@ -1501,9 +1501,32 @@ #endif (*path_for_open)--; } + + if (options & STREAM_LOCATE_WRAPPERS_ONLY) { + return NULL; + } - /* fall back on regular file access */ - return (options & STREAM_LOCATE_WRAPPERS_ONLY) ? NULL : &php_plain_files_wrapper; + if (FG(stream_wrappers)) { + /* The file:// wrapper may have been disabled/overridden */ + + if (wrapper) { + /* It was found so go ahead and provide it */ + return wrapper; + } + + /* Check again, the original check might have not known the protocol name */ + if (zend_hash_find(wrapper_hash, "file", sizeof("file")-1, (void**)&wrapper) == SUCCESS) { + return wrapper; + } + + if (options & REPORT_ERRORS) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Plainfiles wrapper disabled"); + } + return NULL; + } + + /* fall back on regular file access */ + return &php_plain_files_wrapper; } if (wrapper && wrapper->is_url && !PG(allow_url_fopen)) {
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php