Skip to content

Commit b66eb86

Browse files
committed
Convert last_error_file to zend_string
1 parent a1c6ee2 commit b66eb86

File tree

5 files changed

+9
-8
lines changed

5 files changed

+9
-8
lines changed

ext/standard/basic_functions.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1510,7 +1510,8 @@ PHP_FUNCTION(error_get_last)
15101510
add_assoc_long_ex(return_value, "type", sizeof("type")-1, PG(last_error_type));
15111511
add_assoc_str_ex(return_value, "message", sizeof("message")-1,
15121512
zend_string_copy(PG(last_error_message)));
1513-
add_assoc_string_ex(return_value, "file", sizeof("file")-1, PG(last_error_file)?PG(last_error_file):"-");
1513+
add_assoc_str_ex(return_value, "file", sizeof("file")-1,
1514+
zend_string_copy(PG(last_error_file)));
15141515
add_assoc_long_ex(return_value, "line", sizeof("line")-1, PG(last_error_lineno));
15151516
}
15161517
}
@@ -1529,7 +1530,7 @@ PHP_FUNCTION(error_clear_last)
15291530
PG(last_error_message) = NULL;
15301531

15311532
if (PG(last_error_file)) {
1532-
free(PG(last_error_file));
1533+
zend_string_release(PG(last_error_file));
15331534
PG(last_error_file) = NULL;
15341535
}
15351536
}

main/main.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1144,7 +1144,7 @@ static void clear_last_error() {
11441144
PG(last_error_message) = NULL;
11451145
}
11461146
if (PG(last_error_file)) {
1147-
free(PG(last_error_file));
1147+
zend_string_release(PG(last_error_file));
11481148
PG(last_error_file) = NULL;
11491149
}
11501150
}
@@ -1188,7 +1188,7 @@ static ZEND_COLD void php_error_cb(int orig_type, zend_string *error_filename, c
11881188
if (zend_string_equals(PG(last_error_message), message)
11891189
|| (!PG(ignore_repeated_source)
11901190
&& ((PG(last_error_lineno) != (int)error_lineno)
1191-
|| strcmp(PG(last_error_file), ZSTR_VAL(error_filename))))) {
1191+
|| !zend_string_equals(PG(last_error_file), error_filename)))) {
11921192
display = 1;
11931193
} else {
11941194
display = 0;
@@ -1227,7 +1227,7 @@ static ZEND_COLD void php_error_cb(int orig_type, zend_string *error_filename, c
12271227
}
12281228
PG(last_error_type) = type;
12291229
PG(last_error_message) = zend_string_copy(message);
1230-
PG(last_error_file) = strdup(ZSTR_VAL(error_filename));
1230+
PG(last_error_file) = zend_string_copy(error_filename);
12311231
PG(last_error_lineno) = error_lineno;
12321232
}
12331233

main/php_globals.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ struct _php_core_globals {
134134

135135
int last_error_type;
136136
zend_string *last_error_message;
137-
char *last_error_file;
137+
zend_string *last_error_file;
138138
int last_error_lineno;
139139

140140
char *php_sys_temp_dir;

sapi/cli/php_cli_server.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1169,7 +1169,7 @@ static void php_cli_server_log_response(php_cli_server_client *client, int statu
11691169
/* error */
11701170
if (append_error_message) {
11711171
spprintf(&error_buf, 0, " - %s in %s on line %d",
1172-
ZSTR_VAL(PG(last_error_message)), PG(last_error_file), PG(last_error_lineno));
1172+
ZSTR_VAL(PG(last_error_message)), ZSTR_VAL(PG(last_error_file)), PG(last_error_lineno));
11731173
if (!error_buf) {
11741174
efree(basic_buf);
11751175
if (message) {

sapi/phpdbg/phpdbg_info.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ PHPDBG_INFO(error) /* {{{ */
8383
{
8484
if (PG(last_error_message)) {
8585
phpdbg_try_access {
86-
phpdbg_writeln("lasterror", "error=\"%s\" file=\"%s\" line=\"%d\"", "Last error: %s at %s line %d", PG(last_error_message), PG(last_error_file), PG(last_error_lineno));
86+
phpdbg_writeln("lasterror", "error=\"%s\" file=\"%s\" line=\"%d\"", "Last error: %s at %s line %d", PG(last_error_message), ZSTR_VAL(PG(last_error_file)), PG(last_error_lineno));
8787
} phpdbg_catch_access {
8888
phpdbg_notice("lasterror", "error=\"\"", "No error found!");
8989
} phpdbg_end_try_access();

0 commit comments

Comments
 (0)