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