]> granicus.if.org Git - php/commitdiff
avoid strlen in common case
authorAnatol Belski <ab@php.net>
Tue, 16 May 2017 10:49:19 +0000 (12:49 +0200)
committerAnatol Belski <ab@php.net>
Tue, 16 May 2017 10:52:16 +0000 (12:52 +0200)
Zend/zend_compile.c

index 5485a1c6cb3aa5e417401aeb92fa0e8277f6ba1e..82da49a702833d0a83e360c43e62520c9e8fd40c 100644 (file)
@@ -6503,9 +6503,9 @@ static zend_bool zend_try_ct_eval_magic_const(zval *zv, zend_ast *ast) /* {{{ */
                        zend_string *filename = CG(compiled_filename);
                        zend_string *dirname = zend_string_init(ZSTR_VAL(filename), ZSTR_LEN(filename), 0);
 #ifdef ZEND_WIN32
-                       php_win32_ioutil_dirname(ZSTR_VAL(dirname), ZSTR_LEN(dirname));
+                       ZSTR_LEN(dirname) = php_win32_ioutil_dirname(ZSTR_VAL(dirname), ZSTR_LEN(dirname));
 #else
-                       zend_dirname(ZSTR_VAL(dirname), ZSTR_LEN(dirname));
+                       ZSTR_LEN(dirname) = zend_dirname(ZSTR_VAL(dirname), ZSTR_LEN(dirname));
 #endif
 
                        if (strcmp(ZSTR_VAL(dirname), ".") == 0) {
@@ -6515,9 +6515,9 @@ static zend_bool zend_try_ct_eval_magic_const(zval *zv, zend_ast *ast) /* {{{ */
 #elif HAVE_GETWD
                                ZEND_IGNORE_VALUE(VCWD_GETWD(ZSTR_VAL(dirname)));
 #endif
+                               ZSTR_LEN(dirname) = strlen(ZSTR_VAL(dirname));
                        }
 
-                       ZSTR_LEN(dirname) = strlen(ZSTR_VAL(dirname));
                        ZVAL_STR(zv, dirname);
                        break;
                }