Skip to content

Commit e44371b

Browse files
committed
Optimize replace
1 parent 5a4c686 commit e44371b

File tree

1 file changed

+8
-10
lines changed

1 file changed

+8
-10
lines changed

extension/xhprof.c

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1437,7 +1437,7 @@ zend_string *hp_trace_callback_pdo_statement_execute(zend_string *symbol, zend_e
14371437
zend_string *result, *pattern;
14381438
zend_class_entry *pdo_ce;
14391439
zval *object = (data->This.value.obj) ? &(data->This) : NULL;
1440-
zval *query_string, *arg, copy_query;
1440+
zval *query_string, *arg;
14411441

14421442
if (object != NULL) {
14431443
query_string = zend_read_property(pdo_ce, object, "queryString", sizeof("queryString") - 1, 0, NULL);
@@ -1473,22 +1473,20 @@ zend_string *hp_trace_callback_pdo_statement_execute(zend_string *symbol, zend_e
14731473

14741474
if (pattern) {
14751475
if (hp_pcre_match(pattern, ZSTR_VAL(repl), ZSTR_LEN(repl), 0)) {
1476-
zend_ulong num_key;
1477-
zend_string *key;
14781476
zval *val;
1477+
zend_string *replace;
14791478

1480-
ZEND_HASH_FOREACH_KEY_VAL(Z_ARRVAL_P(arg), num_key, key, val)
1479+
ZEND_HASH_FOREACH_VAL(Z_ARRVAL_P(arg), val)
14811480
{
1482-
zend_string *replace;
1483-
14841481
replace = hp_pcre_replace(pattern, repl, val, 1);
14851482

1486-
if (replace != NULL) {
1487-
zend_string_release(repl);
1488-
repl = strpprintf(0, "%s", ZSTR_VAL(replace));
1489-
zend_string_release(replace);
1483+
if (replace == NULL) {
1484+
break;
14901485
}
14911486

1487+
zend_string_release(repl);
1488+
repl = replace;
1489+
14921490
}ZEND_HASH_FOREACH_END();
14931491
}
14941492

0 commit comments

Comments
 (0)