]> granicus.if.org Git - php/commitdiff
@- strrev() no longer modifies arg1. (Thies)
authorThies C. Arntzen <thies@php.net>
Thu, 23 Dec 1999 14:55:50 +0000 (14:55 +0000)
committerThies C. Arntzen <thies@php.net>
Thu, 23 Dec 1999 14:55:50 +0000 (14:55 +0000)
ext/standard/string.c

index 70ab1a5c8092a57b28df8fa488aab77129e3647e..e4a3b132335c44743a1f0025bae8709317f03365 100644 (file)
@@ -1295,16 +1295,16 @@ PHP_FUNCTION(strrev)
        
        convert_to_string_ex(str);
        
-       len = (*str)->value.str.len;
+       *return_value = **str;
+       pval_copy_constructor(return_value);
+
+       len = return_value->value.str.len;
        
        for (i=0; i<len-1-i; i++) {
-               c=(*str)->value.str.val[i];
-               (*str)->value.str.val[i] = (*str)->value.str.val[len-1-i];
-               (*str)->value.str.val[len-1-i]=c;
+               c=return_value->value.str.val[i];
+               return_value->value.str.val[i] = return_value->value.str.val[len-1-i];
+               return_value->value.str.val[len-1-i]=c;
        }
-
-       *return_value = **str;
-       pval_copy_constructor(return_value);
 }
 /* }}} */