cvs: php4 /ext/standard/ string.c

From: Date: Thu, 01 Jun 2000 11:47:48 +0000
Subject: cvs: php4 /ext/standard/ string.c
Groups: php.version4 
Request: Send a blank email to php-version4+get-16015@lists.php.net to get a copy of this message
hholzgra Thu Jun 1 04:47:48 2000 EDT Modified files: /php4/ext/standard string.c Log: uh, off by one?!! this time it's regression-tested, fast and compact Index: php4/ext/standard/string.c diff -u php4/ext/standard/string.c:1.117 php4/ext/standard/string.c:1.118 --- php4/ext/standard/string.c:1.117 Thu Jun 1 03:07:44 2000 +++ php4/ext/standard/string.c Thu Jun 1 04:47:48 2000 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: string.c,v 1.117 2000/06/01 10:07:44 jah Exp $ */ +/* $Id: string.c,v 1.118 2000/06/01 11:47:48 hholzgra Exp $ */ /* Synced with php 3.0 revision 1.193 1999-06-16 [ssb] */ @@ -1138,8 +1138,7 @@ PHP_FUNCTION(ucwords) { zval **str; - char *r; - int i, new_word = 1; + register char *r,*r_end; if (ARG_COUNT(ht) != 1 || zend_get_parameters_ex(1, &str) == FAILURE) { WRONG_PARAM_COUNT; @@ -1151,18 +1150,12 @@ } *return_value=**str; zval_copy_ctor(return_value); - r=return_value->value.str.val; - for (i = 0; i < (*str)->value.str.len; i++, r++) { - /* Alpha char preceeded by white space? Uppercase it. */ - if (new_word && isalpha(*r)) { - *r = toupper((unsigned char)*r); - } - /* Find a word boundary. */ - if (isspace(*r)) { - new_word = 1; - } else { - new_word = 0; + r=return_value->value.str.val; + *r=toupper((unsigned char)*r); + for(r_end = r + return_value->value.str.len -1 ; r < r_end ; r++ ) { + if(isspace(*r)) { + *++r=toupper((unsigned char)*r); } } }

« previous php.version4 (#16015) next »