@@ -367,35 +367,28 @@ PHP_FUNCTION(iconv_set_encoding)
367
367
Get internal encoding and output encoding for ob_iconv_handler() */
368
368
PHP_FUNCTION (iconv_get_encoding )
369
369
{
370
- zval * * type ;
371
- int argc = ZEND_NUM_ARGS ();
372
-
373
- if (argc < 0 || argc > 1 || zend_get_parameters_ex (1 , & type ) == FAILURE ) {
374
- WRONG_PARAM_COUNT ;
375
- }
376
-
377
- convert_to_string_ex (type );
378
-
379
- if (argc == 0 || !strcasecmp ("all" , Z_STRVAL_PP (type ))) {
370
+ char * type = "all" ;
371
+ int type_len ;
372
+
373
+ if (zend_parse_parameters (ZEND_NUM_ARGS () TSRMLS_CC , "|s" , & type , & type_len ) == FAILURE )
374
+ return ;
375
+
376
+ if (!strcasecmp ("all" , type )) {
380
377
if (array_init (return_value ) == FAILURE ) {
381
378
RETURN_FALSE ;
382
379
}
383
- add_assoc_string (return_value , "input_encoding" ,
384
- ICONVG (input_encoding ), 1 );
385
- add_assoc_string (return_value , "output_encoding" ,
386
- ICONVG (output_encoding ), 1 );
387
- add_assoc_string (return_value , "internal_encoding" ,
388
- ICONVG (internal_encoding ), 1 );
389
- } else if (!strcasecmp ("input_encoding" , Z_STRVAL_PP (type ))) {
380
+ add_assoc_string (return_value , "input_encoding" , ICONVG (input_encoding ), 1 );
381
+ add_assoc_string (return_value , "output_encoding" , ICONVG (output_encoding ), 1 );
382
+ add_assoc_string (return_value , "internal_encoding" , ICONVG (internal_encoding ), 1 );
383
+ } else if (!strcasecmp ("input_encoding" , type )) {
390
384
RETVAL_STRING (ICONVG (input_encoding ), 1 );
391
- } else if (!strcasecmp ("output_encoding" , Z_STRVAL_PP ( type ) )) {
385
+ } else if (!strcasecmp ("output_encoding" , type )) {
392
386
RETVAL_STRING (ICONVG (output_encoding ), 1 );
393
- } else if (!strcasecmp ("internal_encoding" , Z_STRVAL_PP ( type ) )) {
387
+ } else if (!strcasecmp ("internal_encoding" , type )) {
394
388
RETVAL_STRING (ICONVG (internal_encoding ), 1 );
395
389
} else {
396
390
RETURN_FALSE ;
397
391
}
398
-
399
392
}
400
393
/* }}} */
401
394
0 commit comments