From f67ed7f3d4aee3133c94da3bfd349fb77e8c689f Mon Sep 17 00:00:00 2001 From: Sara Golemon Date: Fri, 24 Mar 2006 22:27:13 +0000 Subject: [PATCH] Allow bidirectional encoding option via single context param --- ext/standard/streamsfuncs.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) 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; -- 2.50.1