lbarnaud Thu Nov 13 05:47:48 2008 UTC Added files: (Branch: PHP_5_3) /php-src/ext/standard/tests/streams stream_context_get_params_001.phpt
Modified files: /php-src/ext/standard basic_functions.c streamsfuncs.c streamsfuncs.h /php-src NEWS Log: MFH: Added stream_context_get_params() http://cvs.php.net/viewvc.cgi/php-src/ext/standard/basic_functions.c?r1=1.725.2.31.2.64.2.69&r2=1.725.2.31.2.64.2.70&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.69 php-src/ext/standard/basic_functions.c:1.725.2.31.2.64.2.70 --- php-src/ext/standard/basic_functions.c:1.725.2.31.2.64.2.69 Wed Nov 5 21:35:02 2008 +++ php-src/ext/standard/basic_functions.c Thu Nov 13 05:47:47 2008 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: basic_functions.c,v 1.725.2.31.2.64.2.69 2008/11/05 21:35:02 lbarnaud Exp $ */ +/* $Id: basic_functions.c,v 1.725.2.31.2.64.2.70 2008/11/13 05:47:47 lbarnaud Exp $ */ #include "php.h" #include "php_streams.h" @@ -2402,6 +2402,11 @@ ZEND_END_ARG_INFO() static +ZEND_BEGIN_ARG_INFO_EX(arginfo_stream_context_get_params, 0, ZEND_RETURN_VALUE, 1) + ZEND_ARG_INFO(0, stream_or_context) +ZEND_END_ARG_INFO() + +static ZEND_BEGIN_ARG_INFO_EX(arginfo_stream_context_get_default, 0, 0, 0) ZEND_ARG_INFO(0, options) /* ARRAY_INFO(0, options, 1) */ ZEND_END_ARG_INFO() @@ -3540,6 +3545,7 @@ PHP_FE(stream_select, arginfo_stream_select) PHP_FE(stream_context_create, arginfo_stream_context_create) PHP_FE(stream_context_set_params, arginfo_stream_context_set_params) + PHP_FE(stream_context_get_params, arginfo_stream_context_get_params) PHP_FE(stream_context_set_option, arginfo_stream_context_set_option) PHP_FE(stream_context_get_options, arginfo_stream_context_get_options) PHP_FE(stream_context_get_default, arginfo_stream_context_get_default) http://cvs.php.net/viewvc.cgi/php-src/ext/standard/streamsfuncs.c?r1=1.58.2.6.2.15.2.29&r2=1.58.2.6.2.15.2.30&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.29 php-src/ext/standard/streamsfuncs.c:1.58.2.6.2.15.2.30 --- php-src/ext/standard/streamsfuncs.c:1.58.2.6.2.15.2.29 Tue Nov 4 16:46:03 2008 +++ php-src/ext/standard/streamsfuncs.c Thu Nov 13 05:47:47 2008 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: streamsfuncs.c,v 1.58.2.6.2.15.2.29 2008/11/04 16:46:03 lbarnaud Exp $ */ +/* $Id: streamsfuncs.c,v 1.58.2.6.2.15.2.30 2008/11/13 05:47:47 lbarnaud Exp $ */ #include "php.h" #include "php_globals.h" @@ -1038,6 +1038,34 @@ } /* }}} */ +/* {{{ proto bool stream_context_get_params(resource context|resource stream) + Get parameters of a file context */ +PHP_FUNCTION(stream_context_get_params) +{ + zval *zcontext, *options; + php_stream_context *context; + + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &zcontext) == FAILURE) { + RETURN_FALSE; + } + + context = decode_context_param(zcontext TSRMLS_CC); + if (!context) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid stream/context parameter"); + RETURN_FALSE; + } + + array_init(return_value); + if (context->notifier && context->notifier->ptr && context->notifier->func == user_space_stream_notifier) { + add_assoc_zval_ex(return_value, ZEND_STRS("notification"), context->notifier->ptr); + Z_ADDREF_P(context->notifier->ptr); + } + ALLOC_INIT_ZVAL(options); + ZVAL_ZVAL(options, context->options, 1, 0); + add_assoc_zval_ex(return_value, ZEND_STRS("options"), options); +} +/* }}} */ + /* {{{ proto resource stream_context_get_default([array options]) Get a handle on the default file/stream context and optionally set parameters */ PHP_FUNCTION(stream_context_get_default) http://cvs.php.net/viewvc.cgi/php-src/ext/standard/streamsfuncs.h?r1=1.13.2.1.2.4.2.3&r2=1.13.2.1.2.4.2.4&diff_format=u Index: php-src/ext/standard/streamsfuncs.h diff -u php-src/ext/standard/streamsfuncs.h:1.13.2.1.2.4.2.3 php-src/ext/standard/streamsfuncs.h:1.13.2.1.2.4.2.4 --- php-src/ext/standard/streamsfuncs.h:1.13.2.1.2.4.2.3 Sat Aug 16 10:57:56 2008 +++ php-src/ext/standard/streamsfuncs.h Thu Nov 13 05:47:47 2008 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: streamsfuncs.h,v 1.13.2.1.2.4.2.3 2008/08/16 10:57:56 bjori Exp $ */ +/* $Id: streamsfuncs.h,v 1.13.2.1.2.4.2.4 2008/11/13 05:47:47 lbarnaud Exp $ */ /* Flags for stream_socket_client */ #define PHP_STREAM_CLIENT_PERSISTENT 1 @@ -46,6 +46,7 @@ PHP_FUNCTION(stream_wrapper_restore); PHP_FUNCTION(stream_context_create); PHP_FUNCTION(stream_context_set_params); +PHP_FUNCTION(stream_context_get_params); PHP_FUNCTION(stream_context_set_option); PHP_FUNCTION(stream_context_get_options); PHP_FUNCTION(stream_context_get_default); http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.2027.2.547.2.965.2.374&r2=1.2027.2.547.2.965.2.375&diff_format=u Index: php-src/NEWS diff -u php-src/NEWS:1.2027.2.547.2.965.2.374 php-src/NEWS:1.2027.2.547.2.965.2.375 --- php-src/NEWS:1.2027.2.547.2.965.2.374 Mon Nov 10 18:54:30 2008 +++ php-src/NEWS Thu Nov 13 05:47:47 2008 @@ -10,6 +10,7 @@ parameter validation. (Felipe) - Changed openssl info to show the shared library version number. (Scott) +- Added stream_context_get_params() function. (Arnaud) - Added optional parameter "new" to sybase_connect() (Timm) - Added parse_ini_string() function. (grange at lemonde dot fr, Arnaud) - Added str_getcsv() function. (Sara) http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/streams/stream_context_get_params_001.phpt?view=markup&rev=1.1 Index: php-src/ext/standard/tests/streams/stream_context_get_params_001.phpt +++ php-src/ext/standard/tests/streams/stream_context_get_params_001.phpt --TEST-- stream_context_get_params() --FILE-- <?php $ctx = stream_context_create(); var_dump($ctx); var_dump(stream_context_get_params($ctx)); var_dump(stream_context_set_option($ctx, "foo","bar","baz")); var_dump(stream_context_get_params($ctx)); var_dump(stream_context_set_params($ctx, array("notification" => "stream_notification_callback"))); var_dump(stream_context_get_params($ctx)); var_dump(stream_context_set_params($ctx, array("notification" => array("stream","notification_callback")))); var_dump(stream_context_get_params($ctx)); var_dump(stream_context_get_params($ctx)); var_dump(stream_context_get_options($ctx)); var_dump(stream_context_get_params($ctx)); var_dump(stream_context_get_options($ctx)); ?> --EXPECTF-- resource(%d) of type (stream-context) array(1) { [%u|b%"options"]=> array(0) { } } bool(true) array(1) { [%u|b%"options"]=> array(1) { [%u|b%"foo"]=> array(1) { [%u|b%"bar"]=> %unicode|string%(3) "baz" } } } bool(true) array(2) { [%u|b%"notification"]=> %unicode|string%(28) "stream_notification_callback" [%u|b%"options"]=> array(1) { [%u|b%"foo"]=> array(1) { [%u|b%"bar"]=> %unicode|string%(3) "baz" } } } bool(true) array(2) { [%u|b%"notification"]=> array(2) { [0]=> %unicode|string%(6) "stream" [1]=> %unicode|string%(21) "notification_callback" } [%u|b%"options"]=> array(1) { [%u|b%"foo"]=> array(1) { [%u|b%"bar"]=> %unicode|string%(3) "baz" } } } array(2) { [%u|b%"notification"]=> array(2) { [0]=> %unicode|string%(6) "stream" [1]=> %unicode|string%(21) "notification_callback" } [%u|b%"options"]=> array(1) { [%u|b%"foo"]=> array(1) { [%u|b%"bar"]=> %unicode|string%(3) "baz" } } } array(1) { [%u|b%"foo"]=> array(1) { [%u|b%"bar"]=> %unicode|string%(3) "baz" } } array(2) { [%u|b%"notification"]=> array(2) { [0]=> %unicode|string%(6) "stream" [1]=> %unicode|string%(21) "notification_callback" } [%u|b%"options"]=> array(1) { [%u|b%"foo"]=> array(1) { [%u|b%"bar"]=> %unicode|string%(3) "baz" } } } array(1) { [%u|b%"foo"]=> array(1) { [%u|b%"bar"]=> %unicode|string%(3) "baz" } } -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php