andrei          Fri Sep 22 18:24:12 2006 UTC

  Modified files:              
    /php-src    unicode-progress.txt 
    /php-src/ext/standard       string.c 
  Log:
  Bring localeconv(), money_format(), and nl_langinfo() to standards. Add
  E_STRICT notices about them being deprecated in Unicode mode.
  
  
http://cvs.php.net/viewvc.cgi/php-src/unicode-progress.txt?r1=1.48&r2=1.49&diff_format=u
Index: php-src/unicode-progress.txt
diff -u php-src/unicode-progress.txt:1.48 php-src/unicode-progress.txt:1.49
--- php-src/unicode-progress.txt:1.48   Fri Sep 22 17:47:09 2006
+++ php-src/unicode-progress.txt        Fri Sep 22 18:24:12 2006
@@ -20,15 +20,6 @@
         Figure out if this is something we can use ICU for, internally.
         Check with Zeev.
 
-    localeconv()
-        Params API, update to use *_rt_* API.
-
-    money_format()
-        Just IS_UNICODE support with *_rt_* API.
-
-    nl_langinfo()
-        Params API, otherwise leave alone
-
     parse_str()
         Params API. How do we deal with encoding of the data?
 
@@ -150,6 +141,9 @@
     explode()
     implode()
     levenshtein()
+    localeconv()
+    money_format()
+    nl_langinfo()
     nl2br()
     ord()
     pathinfo()
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/string.c?r1=1.589&r2=1.590&diff_format=u
Index: php-src/ext/standard/string.c
diff -u php-src/ext/standard/string.c:1.589 php-src/ext/standard/string.c:1.590
--- php-src/ext/standard/string.c:1.589 Fri Sep 22 17:47:09 2006
+++ php-src/ext/standard/string.c       Fri Sep 22 18:24:12 2006
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: string.c,v 1.589 2006/09/22 17:47:09 andrei Exp $ */
+/* $Id: string.c,v 1.590 2006/09/22 18:24:12 andrei Exp $ */
 
 /* Synced with php 3.0 revision 1.193 1999-06-16 [ssb] */
 
@@ -472,19 +472,22 @@
 }
 /* }}} */
 
-/* {{{ proto string nl_langinfo(int item)
+/* {{{ proto string nl_langinfo(int item) U
    Query language and locale information */
 PHP_FUNCTION(nl_langinfo)
 {
-       zval **item;
+       long item;
        char *value;
 
-       if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &item) == 
FAILURE) {
-               WRONG_PARAM_COUNT;
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &item) == 
FAILURE) {
+               return;
        }
-       convert_to_long_ex(item);
 
-       value = nl_langinfo(Z_LVAL_PP(item));
+       if (UG(unicode)) {
+               php_error_docref(NULL TSRMLS_DC, E_STRICT, "deprecated in 
Unicode mode, please use ICU locale functions");
+       }
+
+       value = nl_langinfo(item);
        if (value == NULL) {
                RETURN_FALSE;
        } else {
@@ -5514,6 +5517,11 @@
                efree(args);
                WRONG_PARAM_COUNT;
        }
+
+       if (UG(unicode)) {
+               php_error_docref(NULL TSRMLS_DC, E_STRICT, "deprecated in 
Unicode mode, please use ICU locale functions");
+       }
+
 #ifdef HAVE_SETLOCALE
        pcategory = args[0];
        if (Z_TYPE_PP(pcategory) == IS_LONG) {
@@ -6435,7 +6443,7 @@
 }
 /* }}} */
 
-/* {{{ proto array localeconv(void)
+/* {{{ proto array localeconv(void) U
    Returns numeric formatting information based on the current locale */
 PHP_FUNCTION(localeconv)
 {
@@ -6443,8 +6451,12 @@
        int len, i;
 
        /* We don't need no stinkin' parameters... */
-       if (ZEND_NUM_ARGS() > 0) {
-               WRONG_PARAM_COUNT;
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "") == FAILURE) {
+               return;
+       }
+
+       if (UG(unicode)) {
+               php_error_docref(NULL TSRMLS_DC, E_STRICT, "deprecated in 
Unicode mode, please use ICU locale functions");
        }
 
        MAKE_STD_ZVAL(grouping);
@@ -7045,7 +7057,7 @@
 /* }}} */
 
 #if HAVE_STRFMON
-/* {{{ proto string money_format(string format , float value)
+/* {{{ proto string money_format(string format , float value) U
    Convert monetary value(s) to string */
 PHP_FUNCTION(money_format)
 {
@@ -7065,7 +7077,7 @@
        }
        str[str_len] = 0;
 
-       RETURN_STRINGL(erealloc(str, str_len + 1), str_len, 0);
+       RETURN_RT_STRINGL(erealloc(str, str_len + 1), str_len, 0);
 }
 /* }}} */
 #endif

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to