-
Notifications
You must be signed in to change notification settings - Fork 7.9k
sapi/apache2handler: function using char * to const char *. #14925
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -313,15 +313,15 @@ PHP_FUNCTION(apache_getenv) | |
} | ||
/* }}} */ | ||
|
||
static char *php_apache_get_version(void) | ||
static const char *php_apache_get_version(void) | ||
{ | ||
return (char *) ap_get_server_banner(); | ||
return ap_get_server_banner(); | ||
} | ||
|
||
/* {{{ Fetch Apache version */ | ||
PHP_FUNCTION(apache_get_version) | ||
{ | ||
char *apv = php_apache_get_version(); | ||
const char *apv = php_apache_get_version(); | ||
|
||
if (apv && *apv) { | ||
RETURN_STRING(apv); | ||
|
@@ -340,7 +340,7 @@ PHP_FUNCTION(apache_get_modules) | |
array_init(return_value); | ||
|
||
for (n = 0; ap_loaded_modules[n]; ++n) { | ||
char *s = (char *) ap_loaded_modules[n]->name; | ||
const char *s = ap_loaded_modules[n]->name; | ||
if ((p = strchr(s, '.'))) { | ||
add_next_index_stringl(return_value, s, (p - s)); | ||
} else { | ||
|
@@ -352,7 +352,7 @@ PHP_FUNCTION(apache_get_modules) | |
|
||
PHP_MINFO_FUNCTION(apache) | ||
{ | ||
char *apv = php_apache_get_version(); | ||
const char *apv = php_apache_get_version(); | ||
smart_str tmp1 = {0}; | ||
char tmp[1024]; | ||
int n, max_requests; | ||
|
@@ -363,21 +363,20 @@ PHP_MINFO_FUNCTION(apache) | |
#endif | ||
|
||
for (n = 0; ap_loaded_modules[n]; ++n) { | ||
char *s = (char *) ap_loaded_modules[n]->name; | ||
const char *s = ap_loaded_modules[n]->name; | ||
if (n > 0) { | ||
smart_str_appendc(&tmp1, ' '); | ||
} | ||
if ((p = strchr(s, '.'))) { | ||
smart_str_appendl(&tmp1, s, (p - s)); | ||
} else { | ||
smart_str_appends(&tmp1, s); | ||
} | ||
smart_str_appendc(&tmp1, ' '); | ||
} | ||
if (tmp1.s) { | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Note that we now have a trailing ' '. Although this code looks dubious to begin with (len > 0 check but still setting index 0 🤔 ). There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. it was unconditionally used regardless below for displaying There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Lol, indeed, even more bizarre... That said, it's maybe best to keep the behaviour that strips the last ' '. |
||
if (tmp1.s->len > 0) { | ||
tmp1.s->val[tmp1.s->len - 1] = '0円'; | ||
} else { | ||
tmp1.s->val[0] = '0円'; | ||
} | ||
if (!tmp1.s) { | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This seems like a reasonable addition |
||
smart_str_appendc(&tmp1, '/'); | ||
} | ||
smart_str_0(&tmp1); | ||
|
||
php_info_print_table_start(); | ||
if (apv && *apv) { | ||
|
@@ -409,7 +408,7 @@ PHP_MINFO_FUNCTION(apache) | |
|
||
php_info_print_table_row(2, "Virtual Server", (serv->is_virtual ? "Yes" : "No")); | ||
php_info_print_table_row(2, "Server Root", ap_server_root); | ||
php_info_print_table_row(2, "Loaded Modules", tmp1.s->val); | ||
php_info_print_table_row(2, "Loaded Modules", ZSTR_VAL(tmp1.s)); | ||
|
||
smart_str_free(&tmp1); | ||
php_info_print_table_end(); | ||
|