mirror of
https://github.com/php/php-src.git
synced 2025-08-18 15:08:55 +02:00
fix for bug 6491, http://www.php.net/bugs.php?id=6491, removes a bit of
(what I think is) broken logic. # This is as discussed on the mailing list previously. This change # does fix the problem, however, the extra code was in there for a # reason (I'm guessing :), i'm ready to revert this patch in a jiffy # if someone has a good reason why that (just removed) extra logic # should be in there.
This commit is contained in:
parent
11961e6585
commit
ba49860cc8
1 changed files with 0 additions and 23 deletions
|
@ -156,30 +156,7 @@ static void sapi_cgi_register_variables(zval *track_vars_array ELS_DC SLS_DC PLS
|
||||||
php_import_environment_variables(track_vars_array ELS_CC PLS_CC);
|
php_import_environment_variables(track_vars_array ELS_CC PLS_CC);
|
||||||
|
|
||||||
/* Build the special-case PHP_SELF variable for the CGI version */
|
/* Build the special-case PHP_SELF variable for the CGI version */
|
||||||
#if FORCE_CGI_REDIRECT
|
|
||||||
php_register_variable("PHP_SELF", (SG(request_info).request_uri ? SG(request_info).request_uri:""), track_vars_array ELS_CC PLS_CC);
|
php_register_variable("PHP_SELF", (SG(request_info).request_uri ? SG(request_info).request_uri:""), track_vars_array ELS_CC PLS_CC);
|
||||||
#else
|
|
||||||
{
|
|
||||||
char *sn;
|
|
||||||
char *val;
|
|
||||||
int l=0;
|
|
||||||
|
|
||||||
sn = getenv("SCRIPT_NAME");
|
|
||||||
pi = SG(request_info).request_uri;
|
|
||||||
if (sn)
|
|
||||||
l += strlen(sn);
|
|
||||||
if (pi)
|
|
||||||
l += strlen(pi);
|
|
||||||
if (pi && sn && !strcmp(pi, sn)) {
|
|
||||||
l -= strlen(pi);
|
|
||||||
pi = NULL;
|
|
||||||
}
|
|
||||||
val = emalloc(l + 1);
|
|
||||||
sprintf(val, "%s%s", (sn ? sn : ""), (pi ? pi : "")); /* SAFE */
|
|
||||||
php_register_variable("PHP_SELF", val, track_vars_array ELS_CC PLS_CC);
|
|
||||||
efree(val);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue