Skip to content

Commit dc70303

Browse files
committed
Use interned strings for error_get_last()
We have known strings for all the array keys, use them.
1 parent b66eb86 commit dc70303

File tree

1 file changed

+13
-6
lines changed

1 file changed

+13
-6
lines changed

ext/standard/basic_functions.c

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1506,13 +1506,20 @@ PHP_FUNCTION(error_get_last)
15061506
ZEND_PARSE_PARAMETERS_NONE();
15071507

15081508
if (PG(last_error_message)) {
1509+
zval tmp;
15091510
array_init(return_value);
1510-
add_assoc_long_ex(return_value, "type", sizeof("type")-1, PG(last_error_type));
1511-
add_assoc_str_ex(return_value, "message", sizeof("message")-1,
1512-
zend_string_copy(PG(last_error_message)));
1513-
add_assoc_str_ex(return_value, "file", sizeof("file")-1,
1514-
zend_string_copy(PG(last_error_file)));
1515-
add_assoc_long_ex(return_value, "line", sizeof("line")-1, PG(last_error_lineno));
1511+
1512+
ZVAL_LONG(&tmp, PG(last_error_type));
1513+
zend_hash_update(Z_ARR_P(return_value), ZSTR_KNOWN(ZEND_STR_TYPE), &tmp);
1514+
1515+
ZVAL_STR_COPY(&tmp, PG(last_error_message));
1516+
zend_hash_update(Z_ARR_P(return_value), ZSTR_KNOWN(ZEND_STR_MESSAGE), &tmp);
1517+
1518+
ZVAL_STR_COPY(&tmp, PG(last_error_file));
1519+
zend_hash_update(Z_ARR_P(return_value), ZSTR_KNOWN(ZEND_STR_FILE), &tmp);
1520+
1521+
ZVAL_LONG(&tmp, PG(last_error_lineno));
1522+
zend_hash_update(Z_ARR_P(return_value), ZSTR_KNOWN(ZEND_STR_LINE), &tmp);
15161523
}
15171524
}
15181525
/* }}} */

0 commit comments

Comments
 (0)