From: Thies C. Arntzen Date: Mon, 21 Jun 1999 15:57:20 +0000 (+0000) Subject: fixed implode "again" - X-Git-Tag: BEFORE_REMOVING_GC_STEP1~106 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=80526676840d0861db8bb94fb3a6eaf8c30c8196;p=php fixed implode "again" - --- diff --git a/ext/standard/string.c b/ext/standard/string.c index 1a5aecd3de..e4385724ff 100644 --- a/ext/standard/string.c +++ b/ext/standard/string.c @@ -309,15 +309,15 @@ PHP_FUNCTION(explode) void _php3_implode(pval *delim, pval *arr, pval *return_value) { - pval *tmp; + pval **tmp; int len = 0, count = 0; /* convert everything to strings, and calculate length */ _php3_hash_internal_pointer_reset(arr->value.ht); while (_php3_hash_get_current_data(arr->value.ht, (void **) &tmp) == SUCCESS) { - convert_to_string(tmp); - if (tmp->type == IS_STRING && tmp->value.str.val != undefined_variable_string) { - len += tmp->value.str.len; + convert_to_string(*tmp); + if ((*tmp)->type == IS_STRING && (*tmp)->value.str.val != undefined_variable_string) { + len += (*tmp)->value.str.len; if (count>0) { len += delim->value.str.len; } @@ -332,9 +332,9 @@ void _php3_implode(pval *delim, pval *arr, pval *return_value) return_value->value.str.val[len] = '\0'; _php3_hash_internal_pointer_reset(arr->value.ht); while (_php3_hash_get_current_data(arr->value.ht, (void **) &tmp) == SUCCESS) { - if (tmp->type == IS_STRING && tmp->value.str.val != undefined_variable_string) { + if ((*tmp)->type == IS_STRING && (*tmp)->value.str.val != undefined_variable_string) { count--; - strcat(return_value->value.str.val, tmp->value.str.val); + strcat(return_value->value.str.val, (*tmp)->value.str.val); if (count > 0) { strcat(return_value->value.str.val, delim->value.str.val); }