davidc          Wed Jan 16 03:11:27 2008 UTC

  Modified files:              (Branch: PHP_5_3)
    /php-src/ext/standard       string.c 
  Log:
  - MFH
  - Making sure this is also using the good zend parsing and added
    the php_ucfirst function
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/string.c?r1=1.445.2.14.2.69.2.8&r2=1.445.2.14.2.69.2.9&diff_format=u
Index: php-src/ext/standard/string.c
diff -u php-src/ext/standard/string.c:1.445.2.14.2.69.2.8 
php-src/ext/standard/string.c:1.445.2.14.2.69.2.9
--- php-src/ext/standard/string.c:1.445.2.14.2.69.2.8   Mon Dec 31 07:17:15 2007
+++ php-src/ext/standard/string.c       Wed Jan 16 03:11:26 2008
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: string.c,v 1.445.2.14.2.69.2.8 2007/12/31 07:17:15 sebastian Exp $ */
+/* $Id: string.c,v 1.445.2.14.2.69.2.9 2008/01/16 03:11:26 davidc Exp $ */
 
 /* Synced with php 3.0 revision 1.193 1999-06-16 [ssb] */
 
@@ -2616,23 +2616,33 @@
 }
 /* }}} */
 
+/* {{{ php_ucfirst
+   Uppercase the first character of the word in a native string */
+static void php_ucfirst(char *str) 
+{
+       register char *r;
+       r = str;
+       *r = toupper((unsigned char) *r);
+}
+/* }}} */
+
 /* {{{ proto string ucfirst(string str)
    Makes a string's first character uppercase */
 PHP_FUNCTION(ucfirst)
 {
-       zval **str;
+       char *str;
+       int  str_len;
        
-       if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &str) == FAILURE) 
{
-               WRONG_PARAM_COUNT;
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &str, 
&str_len) == FAILURE) {
+               return;
        }
-       convert_to_string_ex(str);
 
-       if (!Z_STRLEN_PP(str)) {
+       if (!str_len) {
                RETURN_EMPTY_STRING();
        }
 
-       ZVAL_STRINGL(return_value, Z_STRVAL_PP(str), Z_STRLEN_PP(str), 1);
-       *Z_STRVAL_P(return_value) = toupper((unsigned char) 
*Z_STRVAL_P(return_value));
+       ZVAL_STRINGL(return_value, str, str_len, 1);
+       php_ucfirst(Z_STRVAL_P(return_value));
 }
 /* }}} */
 

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

Reply via email to