cvs: php4 /ext/standard/ php_string.h string.c

From: Date: Sat, 20 May 2000 05:07:53 +0000
Subject: cvs: php4 /ext/standard/ php_string.h string.c
Groups: php.version4 
Request: Send a blank email to php-version4+get-15282@lists.php.net to get a copy of this message
hholzgra Sat May 20 07:07:53 2000 EDT Modified files: /php4/ext/standard string.c php_string.h Log: patch to explode (bug id #3251) suspended till 4.0.1 Index: php4/ext/standard/string.c diff -u php4/ext/standard/string.c:1.111 php4/ext/standard/string.c:1.112 --- php4/ext/standard/string.c:1.111 Sat May 20 00:00:38 2000 +++ php4/ext/standard/string.c Sat May 20 07:07:53 2000 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: string.c,v 1.111 2000/05/19 22:00:38 hholzgra Exp $ */ +/* $Id: string.c,v 1.112 2000/05/20 05:07:53 hholzgra Exp $ */ /* Synced with php 3.0 revision 1.193 1999-06-16 [ssb] */ @@ -213,7 +213,7 @@ } /* }}} */ -PHPAPI void php_explode(zval *delim, zval *str, zval *return_value, int limit) +PHPAPI void php_explode(zval *delim, zval *str, zval *return_value) { char *p1, *p2, *endp; int i = 0; @@ -229,38 +229,23 @@ do { add_index_stringl(return_value, i++, p1, p2-p1, 1); p1 = p2 + delim->value.str.len; - if((limit>=0)&&(i>=limit-1)) - break; } while ((p2 = php_memnstr(p1, delim->value.str.val, delim->value.str.len, endp)) != NULL); - if ((p1 <= endp)|| ((limit>=0)&&(i>=limit-1))){ + if (p1 <= endp) { add_index_stringl(return_value, i++, p1, endp-p1, 1); } } } -/* {{{ proto array explode(string separator, string str [, int limit]) +/* {{{ proto array explode(string separator, string str) Split a string on string separator and return array of components */ PHP_FUNCTION(explode) { - zval **str, **delim, **zlimit = NULL; - int limit; + zval **str, **delim; - switch (ARG_COUNT(ht)) { - case 2: - if (zend_get_parameters_ex(2, &delim, &str) == FAILURE) - WRONG_PARAM_COUNT; - limit=-1; - break; - case 3: - if (zend_get_parameters_ex(3, &delim, &str, &zlimit) == FAILURE) - WRONG_PARAM_COUNT; - convert_to_long_ex(zlimit); - limit = (*zlimit)->value.lval; - break; - default: - WRONG_PARAM_COUNT; - } + if (ARG_COUNT(ht) != 2 || zend_get_parameters_ex(2, &delim, &str) == FAILURE) { + WRONG_PARAM_COUNT; + } convert_to_string_ex(str); convert_to_string_ex(delim); @@ -274,11 +259,7 @@ RETURN_FALSE; } - if((limit==0)||(limit==1)) { - add_index_stringl(return_value, 0, (*str)->value.str.val, (*str)->value.str.len, 1); - } else { - php_explode(*delim, *str, return_value, limit); - } + php_explode(*delim, *str, return_value); } /* }}} */ Index: php4/ext/standard/php_string.h diff -u php4/ext/standard/php_string.h:1.13 php4/ext/standard/php_string.h:1.14 --- php4/ext/standard/php_string.h:1.13 Sat May 20 00:00:38 2000 +++ php4/ext/standard/php_string.h Sat May 20 07:07:53 2000 @@ -29,7 +29,7 @@ */ -/* $Id: php_string.h,v 1.13 2000/05/19 22:00:38 hholzgra Exp $ */ +/* $Id: php_string.h,v 1.14 2000/05/20 05:07:53 hholzgra Exp $ */ /* Synced with php 3.0 revision 1.43 1999-06-16 [ssb] */ @@ -109,7 +109,7 @@ PHPAPI void php_char_to_str(char *str, uint len, char from, char *to, int to_len, pval *result); PHPAPI void php_implode(pval *delim, pval *arr, pval *return_value); -PHPAPI void php_explode(pval *delim, pval *str, pval *return_value, int limit); +PHPAPI void php_explode(pval *delim, pval *str, pval *return_value); PHPAPI inline char *php_memnstr(char *haystack, char *needle, int needle_len, char *end); PHPAPI size_t php_strspn(char *s1, char *s2, char *s1_end, char *s2_end); PHPAPI size_t php_strcspn(char *s1, char *s2, char *s1_end, char *s2_end);

« previous php.version4 (#15282) next »