Missing parentheses...
Regards,
Wojtek Meler
Index: string.c
===================================================================
RCS file: /repository/php-src/ext/standard/string.c,v
retrieving revision 1.333.2.52.2.3
diff -u -r1.333.2.52.2.3 string.c
--- string.c 1 Jan 2006 13:46:58 -0000 1.333.2.52.2.3
+++ string.c 20 Feb 2006 10:55:22 -0000
@@ -829,12 +829,14 @@
HashPosition pos;
smart_str implstr = {0};
int numelems, i = 0;
+ size_t newlen; //used by smart_str_alloc
numelems = zend_hash_num_elements(Z_ARRVAL_P(arr));
if(numelems == 0) {
RETURN_EMPTY_STRING();
}
+ smart_str_alloc((&implstr),numelems*Z_STRLEN_P(delim),0);
zend_hash_internal_pointer_reset_ex(Z_ARRVAL_P(arr), &pos);
while (zend_hash_get_current_data_ex(Z_ARRVAL_P(arr),
@@ -846,6 +848,8 @@
smart_str_appendl(&implstr, Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp));
if (++i != numelems) {
smart_str_appendl(&implstr, Z_STRVAL_P(delim), Z_STRLEN_P(delim));
+ newlen = numelems*(implstr.len/i)-implstr.len;
+ smart_str_alloc((&implstr),newlen,0);
}
zend_hash_move_forward_ex(Z_ARRVAL_P(arr), &pos);
}
@@ -1924,6 +1928,10 @@
key = emalloc(maxlen+1);
pos = 0;
+ {
+ size_t newlen;
+ smart_str_alloc((&result),slen,0);
+ }
while (pos < slen) {
if ((pos + maxlen) > slen) {
@@ -2556,6 +2564,9 @@
char *r;
char *end = haystack + length;
smart_str result = {0};
+ size_t newlen; //used by smart_str_alloc
+
+ smart_str_alloc((&result),length,0);
for (p = haystack;
(r = php_memnstr(p, needle, needle_len, end));
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php