From: Hannes Magnusson Date: Sat, 16 Aug 2008 10:57:26 +0000 (+0000) Subject: Added stream_context_set_default() function. (Davey Shafik) X-Git-Tag: BEFORE_HEAD_NS_CHANGE~689 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=16a53bd75dca41123a07af0c5fbdee801fdf937a;p=php Added stream_context_set_default() function. (Davey Shafik) --- diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c index 0768c7ef68..470c2bbead 100644 --- a/ext/standard/basic_functions.c +++ b/ext/standard/basic_functions.c @@ -2380,6 +2380,11 @@ 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() +static +ZEND_BEGIN_ARG_INFO(arginfo_stream_context_set_default, 0) + ZEND_ARG_INFO(0, options) +ZEND_END_ARG_INFO() + static ZEND_BEGIN_ARG_INFO_EX(arginfo_stream_context_create, 0, 0, 0) ZEND_ARG_INFO(0, options) /* ARRAY_INFO(0, options, 1) */ @@ -3553,6 +3558,7 @@ const zend_function_entry basic_functions[] = { /* {{{ */ 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) + PHP_FE(stream_context_set_default, arginfo_stream_context_set_default) PHP_FE(stream_filter_prepend, arginfo_stream_filter_prepend) PHP_FE(stream_filter_append, arginfo_stream_filter_append) PHP_FE(stream_filter_remove, arginfo_stream_filter_remove) diff --git a/ext/standard/streamsfuncs.c b/ext/standard/streamsfuncs.c index 3d68bd5a39..2e580f83e5 100644 --- a/ext/standard/streamsfuncs.c +++ b/ext/standard/streamsfuncs.c @@ -1158,6 +1158,28 @@ PHP_FUNCTION(stream_context_get_default) } /* }}} */ +/* {{{ proto resource stream_context_set_default(array options) U + Set default file/stream context, returns the context as a resource */ +PHP_FUNCTION(stream_context_set_default) +{ + zval *options = NULL; + php_stream_context *context; + + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a", &options) == FAILURE) { + return; + } + + if (FG(default_context) == NULL) { + FG(default_context) = php_stream_context_alloc(); + } + context = FG(default_context); + + parse_context_options(context, options TSRMLS_CC); + + php_stream_context_to_zval(context, return_value); +} +/* }}} */ + /* {{{ proto resource stream_context_create([array options[, array params]]) U Create a file context and optionally set parameters */ PHP_FUNCTION(stream_context_create) diff --git a/ext/standard/streamsfuncs.h b/ext/standard/streamsfuncs.h index f27cc31e1e..4963614bcf 100644 --- a/ext/standard/streamsfuncs.h +++ b/ext/standard/streamsfuncs.h @@ -49,6 +49,7 @@ PHP_FUNCTION(stream_context_set_params); PHP_FUNCTION(stream_context_set_option); PHP_FUNCTION(stream_context_get_options); PHP_FUNCTION(stream_context_get_default); +PHP_FUNCTION(stream_context_set_default); PHP_FUNCTION(stream_filter_prepend); PHP_FUNCTION(stream_filter_append); PHP_FUNCTION(stream_filter_remove);