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

Reply via email to