johannes Tue Nov 20 22:17:01 2007 UTC Added files: (Branch: PHP_5_3) /php-src/ext/standard/tests/file stream_supports_lock.phpt
Modified files: /php-src/ext/standard streamsfuncs.c streamsfuncs.h basic_functions.c /php-src NEWS Log: MFH: Add stream_supports_lock() function (Benjamin Schulz) http://cvs.php.net/viewvc.cgi/php-src/ext/standard/streamsfuncs.c?r1=1.58.2.6.2.15.2.5&r2=1.58.2.6.2.15.2.6&diff_format=u Index: php-src/ext/standard/streamsfuncs.c diff -u php-src/ext/standard/streamsfuncs.c:1.58.2.6.2.15.2.5 php-src/ext/standard/streamsfuncs.c:1.58.2.6.2.15.2.6 --- php-src/ext/standard/streamsfuncs.c:1.58.2.6.2.15.2.5 Thu Nov 8 13:29:25 2007 +++ php-src/ext/standard/streamsfuncs.c Tue Nov 20 22:17:00 2007 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: streamsfuncs.c,v 1.58.2.6.2.15.2.5 2007/11/08 13:29:25 dmitry Exp $ */ +/* $Id: streamsfuncs.c,v 1.58.2.6.2.15.2.6 2007/11/20 22:17:00 johannes Exp $ */ #include "php.h" #include "php_globals.h" @@ -1375,6 +1375,26 @@ } /* }}} */ +/* {{{ proto bool stream_supports_lock(resource stream) + Tells wether the stream supports locking through flock(). */ +PHP_FUNCTION(stream_supports_lock) +{ + php_stream *stream; + zval *zsrc; + + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &zsrc) == FAILURE) { + RETURN_FALSE; + } + + php_stream_from_zval(stream, &zsrc); + + if (!php_stream_supports_lock(stream)) { + RETURN_FALSE; + } + + RETURN_TRUE; +} + #ifdef HAVE_SHUTDOWN /* {{{ proto int stream_socket_shutdown(resource stream, int how) causes all or part of a full-duplex connection on the socket associated http://cvs.php.net/viewvc.cgi/php-src/ext/standard/streamsfuncs.h?r1=1.13.2.1.2.4&r2=1.13.2.1.2.4.2.1&diff_format=u Index: php-src/ext/standard/streamsfuncs.h diff -u php-src/ext/standard/streamsfuncs.h:1.13.2.1.2.4 php-src/ext/standard/streamsfuncs.h:1.13.2.1.2.4.2.1 --- php-src/ext/standard/streamsfuncs.h:1.13.2.1.2.4 Mon Jul 9 17:27:24 2007 +++ php-src/ext/standard/streamsfuncs.h Tue Nov 20 22:17:00 2007 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: streamsfuncs.h,v 1.13.2.1.2.4 2007/07/09 17:27:24 dmitry Exp $ */ +/* $Id: streamsfuncs.h,v 1.13.2.1.2.4.2.1 2007/11/20 22:17:00 johannes Exp $ */ /* Flags for stream_socket_client */ #define PHP_STREAM_CLIENT_PERSISTENT 1 @@ -56,6 +56,7 @@ PHP_FUNCTION(stream_socket_shutdown); PHP_FUNCTION(stream_socket_pair); PHP_FUNCTION(stream_is_local); +PHP_FUNCTION(stream_supports_lock); /* * Local variables: http://cvs.php.net/viewvc.cgi/php-src/ext/standard/basic_functions.c?r1=1.725.2.31.2.64.2.12&r2=1.725.2.31.2.64.2.13&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.12 php-src/ext/standard/basic_functions.c:1.725.2.31.2.64.2.13 --- php-src/ext/standard/basic_functions.c:1.725.2.31.2.64.2.12 Thu Nov 15 13:13:21 2007 +++ php-src/ext/standard/basic_functions.c Tue Nov 20 22:17:00 2007 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: basic_functions.c,v 1.725.2.31.2.64.2.12 2007/11/15 13:13:21 bjori Exp $ */ +/* $Id: basic_functions.c,v 1.725.2.31.2.64.2.13 2007/11/20 22:17:00 johannes Exp $ */ #include "php.h" #include "php_streams.h" @@ -2319,6 +2319,11 @@ ZEND_END_ARG_INFO() static +ZEND_BEGIN_ARG_INFO_EX(arginfo_stream_supports_lock, 0, 0, 1) + ZEND_ARG_INFO(0, stream) +ZEND_END_ARG_INFO() + +static ZEND_BEGIN_ARG_INFO_EX(arginfo_stream_select, 0, 0, 4) ZEND_ARG_INFO(1, read_streams) /* ARRAY_INFO(1, read_streams, 1) */ ZEND_ARG_INFO(1, write_streams) /* ARRAY_INFO(1, write_streams, 1) */ @@ -3493,6 +3498,7 @@ #endif PHP_FE(stream_copy_to_stream, arginfo_stream_copy_to_stream) PHP_FE(stream_get_contents, arginfo_stream_get_contents) + PHP_FE(stream_supports_lock, arginfo_stream_supports_lock) PHP_FE(fgetcsv, arginfo_fgetcsv) PHP_FE(fputcsv, arginfo_fputcsv) PHP_FE(flock, arginfo_flock) http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.2027.2.547.2.965.2.49&r2=1.2027.2.547.2.965.2.50&diff_format=u Index: php-src/NEWS diff -u php-src/NEWS:1.2027.2.547.2.965.2.49 php-src/NEWS:1.2027.2.547.2.965.2.50 --- php-src/NEWS:1.2027.2.547.2.965.2.49 Tue Nov 20 21:25:10 2007 +++ php-src/NEWS Tue Nov 20 22:17:01 2007 @@ -1,6 +1,7 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? 20??, PHP 5.3.0 +- Added stream_supports_lock() function (Benjamin Schulz) - Added msg_queue_exists() function (Benjamin Schulz) - Added 3 Firebird specific attributes that can be set via PDO::setAttribute() to control formatting of date/timestamp columns: PDO::FB_ATTR_DATE_FORMAT, http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/stream_supports_lock.phpt?view=markup&rev=1.1 Index: php-src/ext/standard/tests/file/stream_supports_lock.phpt +++ php-src/ext/standard/tests/file/stream_supports_lock.phpt --TEST-- stream_supports_lock --FILE-- <?php $fp = fopen(__FILE__, "r"); var_dump($fp); var_dump(stream_supports_lock($fp)); fclose($fp); $fp = fopen("file://" . __FILE__, "r"); var_dump($fp); var_dump(stream_supports_lock($fp)); fclose($fp); $fp = fopen("php://memory", "r"); var_dump($fp); var_dump(stream_supports_lock($fp)); fclose($fp); $fp = fopen('data://text/plain,foobar', 'r'); var_dump($fp); var_dump(stream_supports_lock($fp)); fclose($fp); $sock = stream_context_create(); var_dump($sock); var_dump(stream_supports_lock($sock)); echo "Done\n"; ?> --EXPECTF-- resource(%d) of type (stream) bool(true) resource(%d) of type (stream) bool(true) resource(%d) of type (stream) bool(false) resource(%d) of type (stream) bool(false) resource(%d) of type (stream-context) Warning: stream_supports_lock(): supplied resource is not a valid stream resource in %s on line %d bool(false) Done -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php