helly Tue Nov 6 12:12:58 2007 UTC
Modified files: (Branch: PHP_5_3)
/php-src NEWS
/php-src/main/streams plain_wrapper.c
/php-src/ext/standard basic_functions.c
Log:
- MFH Add glob stream wrapper
[DOC] The glob stream wrapper allows stuff like this:
php -r '$it = new DirectoryIterator("glob://ext/spl/*.c");
foreach($it as $f) var_dump($f);'
http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.2027.2.547.2.965.2.42&r2=1.2027.2.547.2.965.2.43&diff_format=u
Index: php-src/NEWS
diff -u php-src/NEWS:1.2027.2.547.2.965.2.42
php-src/NEWS:1.2027.2.547.2.965.2.43
--- php-src/NEWS:1.2027.2.547.2.965.2.42 Tue Nov 6 09:45:37 2007
+++ php-src/NEWS Tue Nov 6 12:12:58 2007
@@ -1,6 +1,7 @@
PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? ??? 20??, PHP 5.3.0
+- Added glob stream. (Marcus)
- Added 3 Firebird specific attributes that can be set via PDO::setAttribute()
to control formatting of date/timestamp columns: PDO::FB_ATTR_DATE_FORMAT,
PDO::FB_ATTR_TIME_FORMAT and PDO::FB_ATTR_TIMESTAMP_FORMAT.
http://cvs.php.net/viewvc.cgi/php-src/main/streams/plain_wrapper.c?r1=1.52.2.6.2.23.2.2&r2=1.52.2.6.2.23.2.3&diff_format=u
Index: php-src/main/streams/plain_wrapper.c
diff -u php-src/main/streams/plain_wrapper.c:1.52.2.6.2.23.2.2
php-src/main/streams/plain_wrapper.c:1.52.2.6.2.23.2.3
--- php-src/main/streams/plain_wrapper.c:1.52.2.6.2.23.2.2 Thu Nov 1
17:32:44 2007
+++ php-src/main/streams/plain_wrapper.c Tue Nov 6 12:12:58 2007
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: plain_wrapper.c,v 1.52.2.6.2.23.2.2 2007/11/01 17:32:44 jani Exp $ */
+/* $Id: plain_wrapper.c,v 1.52.2.6.2.23.2.3 2007/11/06 12:12:58 helly Exp $ */
#include "php.h"
#include "php_globals.h"
@@ -338,7 +338,7 @@
so script can retry if desired */
ret = read(data->fd, buf, count);
}
-
+
stream->eof = (ret == 0 || (ret == (size_t)-1 && errno !=
EWOULDBLOCK && errno != EINTR && errno != EBADF));
} else {
@@ -843,6 +843,10 @@
DIR *dir = NULL;
php_stream *stream = NULL;
+ if (options & STREAM_USE_GLOB_DIR_OPEN) {
+ return
php_glob_stream_wrapper.wops->dir_opener(&php_glob_stream_wrapper, path, mode,
options, opened_path, context STREAMS_REL_CC TSRMLS_CC);
+ }
+
if (((options & STREAM_DISABLE_OPEN_BASEDIR) == 0) &&
php_check_open_basedir(path TSRMLS_CC)) {
return NULL;
}
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/basic_functions.c?r1=1.725.2.31.2.64.2.9&r2=1.725.2.31.2.64.2.10&diff_format=u
Index: php-src/ext/standard/basic_functions.c
diff -u php-src/ext/standard/basic_functions.c:1.725.2.31.2.64.2.9
php-src/ext/standard/basic_functions.c:1.725.2.31.2.64.2.10
--- php-src/ext/standard/basic_functions.c:1.725.2.31.2.64.2.9 Fri Nov 2
19:40:38 2007
+++ php-src/ext/standard/basic_functions.c Tue Nov 6 12:12:58 2007
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: basic_functions.c,v 1.725.2.31.2.64.2.9 2007/11/02 19:40:38 jani Exp $
*/
+/* $Id: basic_functions.c,v 1.725.2.31.2.64.2.10 2007/11/06 12:12:58 helly Exp
$ */
#include "php.h"
#include "php_streams.h"
@@ -4026,6 +4026,7 @@
php_register_url_stream_wrapper("php", &php_stream_php_wrapper
TSRMLS_CC);
php_register_url_stream_wrapper("file", &php_plain_files_wrapper
TSRMLS_CC);
+ php_register_url_stream_wrapper("glob", &php_glob_stream_wrapper
TSRMLS_CC);
php_register_url_stream_wrapper("data", &php_stream_rfc2397_wrapper
TSRMLS_CC);
#ifndef PHP_CURL_URL_WRAPPERS
php_register_url_stream_wrapper("http", &php_stream_http_wrapper
TSRMLS_CC);