]> granicus.if.org Git - php/commitdiff
MFH: Optimize substr_replace
authorIlia Alshanetsky <iliaa@php.net>
Mon, 1 Dec 2003 23:21:25 +0000 (23:21 +0000)
committerIlia Alshanetsky <iliaa@php.net>
Mon, 1 Dec 2003 23:21:25 +0000 (23:21 +0000)
ext/standard/string.c

index 914cac53958e177591b4a465e762cd2841cf2377..fe8989c0f9d35824c8cfa32a4f27dfd768b7cfa0 100644 (file)
@@ -1739,11 +1739,12 @@ PHP_FUNCTION(substr_replace)
        }
 
        result_len = Z_STRLEN_PP(str) - l + Z_STRLEN_PP(repl);
-       result = ecalloc(result_len + 1, sizeof(char *));
+       result = emalloc(result_len + 1);
 
        memcpy(result, Z_STRVAL_PP(str), f);
-       memcpy(&result[f], Z_STRVAL_PP(repl), Z_STRLEN_PP(repl));
-       memcpy(&result[f + Z_STRLEN_PP(repl)], Z_STRVAL_PP(str) + f + l, Z_STRLEN_PP(str) - f - l);
+       memcpy((result + f), Z_STRVAL_PP(repl), Z_STRLEN_PP(repl));
+       memcpy((result + f + Z_STRLEN_PP(repl)), Z_STRVAL_PP(str) + f + l, Z_STRLEN_PP(str) - f - l);
+       result[result_len] = '\0';
 
        RETURN_STRINGL(result, result_len, 0);
 }