sniper Wed Sep 11 11:29:51 2002 EDT Modified files: (Branch: PHP_4_2_0) /php4/ext/iconv iconv.c Log: Fix bug: #19355 (the parameter is optional) Index: php4/ext/iconv/iconv.c diff -u php4/ext/iconv/iconv.c:1.31.2.2 php4/ext/iconv/iconv.c:1.31.2.3 --- php4/ext/iconv/iconv.c:1.31.2.2 Thu Mar 21 15:25:25 2002 +++ php4/ext/iconv/iconv.c Wed Sep 11 11:29:50 2002 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: iconv.c,v 1.31.2.2 2002/03/21 20:25:25 sniper Exp $ */ +/* $Id: iconv.c,v 1.31.2.3 2002/09/11 15:29:50 sniper Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -367,35 +367,28 @@ Get internal encoding and output encoding for ob_iconv_handler() */ PHP_FUNCTION(iconv_get_encoding) { - zval **type; - int argc = ZEND_NUM_ARGS(); - - if (argc < 0 || argc > 1 || zend_get_parameters_ex(1, &type) == FAILURE) { - WRONG_PARAM_COUNT; - } - - convert_to_string_ex(type); - - if (argc == 0 || !strcasecmp("all", Z_STRVAL_PP(type))) { + char *type = "all"; + int type_len; + + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s", &type, &type_len) +== FAILURE) + return; + + if (!strcasecmp("all", type)) { if (array_init(return_value) == FAILURE) { RETURN_FALSE; } - add_assoc_string(return_value, "input_encoding", - ICONVG(input_encoding), 1); - add_assoc_string(return_value, "output_encoding", - ICONVG(output_encoding), 1); - add_assoc_string(return_value, "internal_encoding", - ICONVG(internal_encoding), 1); - } else if (!strcasecmp("input_encoding", Z_STRVAL_PP(type))) { + add_assoc_string(return_value, "input_encoding", +ICONVG(input_encoding), 1); + add_assoc_string(return_value, "output_encoding", +ICONVG(output_encoding), 1); + add_assoc_string(return_value, "internal_encoding", +ICONVG(internal_encoding), 1); + } else if (!strcasecmp("input_encoding", type)) { RETVAL_STRING(ICONVG(input_encoding), 1); - } else if (!strcasecmp("output_encoding", Z_STRVAL_PP(type))) { + } else if (!strcasecmp("output_encoding", type)) { RETVAL_STRING(ICONVG(output_encoding), 1); - } else if (!strcasecmp("internal_encoding", Z_STRVAL_PP(type))) { + } else if (!strcasecmp("internal_encoding", type)) { RETVAL_STRING(ICONVG(internal_encoding), 1); } else { RETURN_FALSE; } - } /* }}} */
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php