From: Sara Golemon Date: Fri, 24 Mar 2006 22:27:13 +0000 (+0000) Subject: Allow bidirectional encoding option via single context param X-Git-Tag: RELEASE_1_3~267 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f67ed7f3d4aee3133c94da3bfd349fb77e8c689f;p=php Allow bidirectional encoding option via single context param --- diff --git a/ext/standard/streamsfuncs.c b/ext/standard/streamsfuncs.c index 4d021aea35..abdf00a0f2 100644 --- a/ext/standard/streamsfuncs.c +++ b/ext/standard/streamsfuncs.c @@ -926,6 +926,20 @@ static int parse_context_params(php_stream_context *context, zval *params TSRMLS if (SUCCESS == zend_hash_find(Z_ARRVAL_P(params), "options", sizeof("options"), (void**)&tmp)) { parse_context_options(context, *tmp TSRMLS_CC); } + if (SUCCESS == zend_hash_find(Z_ARRVAL_P(params), "encoding", sizeof("encoding"), (void**)&tmp)) { + zval strval = **tmp; + + if (context->input_encoding) { + efree(context->input_encoding); + } + if (context->output_encoding) { + efree(context->output_encoding); + } + zval_copy_ctor(&strval); + convert_to_string(&strval); + context->input_encoding = Z_STRVAL(strval); + context->output_encoding = estrdup(Z_STRVAL(strval)); + } if (SUCCESS == zend_hash_find(Z_ARRVAL_P(params), "input_encoding", sizeof("input_encoding"), (void**)&tmp)) { zval strval = **tmp;