]> granicus.if.org Git - php/commitdiff
Use zend_get_executed_filename_ex
authorXinchen Hui <laruence@gmail.com>
Wed, 1 Nov 2017 07:30:41 +0000 (15:30 +0800)
committerXinchen Hui <laruence@gmail.com>
Wed, 1 Nov 2017 07:40:54 +0000 (15:40 +0800)
Zend/zend_constants.c
Zend/zend_exceptions.c
ext/standard/assert.c
ext/standard/mail.c

index 100d0a263bb1cac574b2a60ecb0d55b68cf3ff6b..219e31381386be6e6460d0d76fc51880ea1a8429 100644 (file)
@@ -210,15 +210,13 @@ static zend_constant *zend_get_special_constant(const char *name, size_t name_le
                return NULL;
        } else if (name_len == sizeof("__COMPILER_HALT_OFFSET__")-1 &&
                  !memcmp(name, "__COMPILER_HALT_OFFSET__", sizeof("__COMPILER_HALT_OFFSET__")-1)) {
-               const char *cfilename;
+               zend_string *cfilename;
                zend_string *haltname;
-               size_t clen;
 
-               cfilename = zend_get_executed_filename();
-               clen = strlen(cfilename);
+               cfilename = zend_get_executed_filename_ex();
                /* check for __COMPILER_HALT_OFFSET__ */
                haltname = zend_mangle_property_name(haltoff,
-                       sizeof("__COMPILER_HALT_OFFSET__") - 1, cfilename, clen, 0);
+                       sizeof("__COMPILER_HALT_OFFSET__") - 1, ZSTR_VAL(cfilename), ZSTR_LEN(cfilename), 0);
                c = zend_hash_find_ptr(EG(zend_constants), haltname);
                zend_string_free(haltname);
                return c;
index c892f701e3e754321187a9cbadbba91482768f50..20eb3c520063ebdd32f8a5103f8a4ba6c4b949f1 100644 (file)
@@ -222,9 +222,8 @@ static zend_object *zend_default_exception_new_ex(zend_class_entry *class_type,
        base_ce = i_get_exception_base(&obj);
 
        if (EXPECTED(class_type != zend_ce_parse_error || !(filename = zend_get_compiled_filename()))) {
-               ZVAL_STRING(&tmp, zend_get_executed_filename());
+               ZVAL_STR(&tmp, zend_get_executed_filename_ex());
                zend_update_property_ex(base_ce, &obj, ZSTR_KNOWN(ZEND_STR_FILE), &tmp);
-               zval_ptr_dtor(&tmp);
                ZVAL_LONG(&tmp, zend_get_executed_lineno());
                zend_update_property_ex(base_ce, &obj, ZSTR_KNOWN(ZEND_STR_LINE), &tmp);
        } else {
index 87462185a8ae85d3f02744512f1aa811c9fc3ff5..a03418030d1b89b98bfd1412788d535ad5657591 100644 (file)
@@ -219,11 +219,9 @@ PHP_FUNCTION(assert)
                zval *args = safe_emalloc(!description ? 3 : 4, sizeof(zval), 0);
                zval retval;
                int i;
-               uint32_t lineno = zend_get_executed_lineno();
-               const char *filename = zend_get_executed_filename();
 
-               ZVAL_STRING(&args[0], SAFE_STRING(filename));
-               ZVAL_LONG (&args[1], lineno);
+               ZVAL_STR_COPY(&args[0], zend_get_executed_filename_ex());
+               ZVAL_LONG (&args[1], zend_get_executed_lineno());
                ZVAL_STRING(&args[2], SAFE_STRING(myeval));
 
                ZVAL_FALSE(&retval);
index 3762bb8bda790f94a8411402f3aae557194eaa01..8fe3de66229a74a4687fbc0f593d18571ddde0f3 100644 (file)
@@ -521,10 +521,10 @@ PHPAPI int php_mail(char *to, char *subject, char *message, char *headers, char
        }
 
        if (PG(mail_x_header)) {
-               const char *tmp = zend_get_executed_filename();
+               zend_string *tmp = zend_get_executed_filename_ex();
                zend_string *f;
 
-               f = php_basename(tmp, strlen(tmp), NULL, 0);
+               f = php_basename(ZSTR_VAL(tmp), ZSTR_LEN(tmp), NULL, 0);
 
                if (headers != NULL && *headers) {
                        spprintf(&hdr, 0, "X-PHP-Originating-Script: " ZEND_LONG_FMT ":%s\n%s", php_getuid(), ZSTR_VAL(f), headers);