summaryrefslogtreecommitdiff
path: root/main/php_variables.c
diff options
context:
space:
mode:
Diffstat (limited to 'main/php_variables.c')
-rw-r--r--main/php_variables.c47
1 files changed, 6 insertions, 41 deletions
diff --git a/main/php_variables.c b/main/php_variables.c
index 514b9c98bf..3cf65a04e4 100644
--- a/main/php_variables.c
+++ b/main/php_variables.c
@@ -549,11 +549,9 @@ int php_hash_environment(TSRMLS_D)
{
char *p;
unsigned char _gpc_flags[5] = {0, 0, 0, 0, 0};
- zend_bool have_variables_order;
zval *dummy_track_vars_array = NULL;
zend_bool initialized_dummy_track_vars_array=0;
zend_bool jit_initialization = (!PG(register_globals) && !PG(register_long_arrays));
- char *variables_order;
struct auto_global_record {
char *name;
uint name_len;
@@ -576,22 +574,7 @@ int php_hash_environment(TSRMLS_D)
PG(http_globals)[i] = NULL;
}
- if (PG(variables_order)) {
- variables_order = PG(variables_order);
- have_variables_order=1;
- } else {
- variables_order = PG(gpc_order);
- have_variables_order=0;
- ALLOC_ZVAL(PG(http_globals)[TRACK_VARS_ENV]);
- array_init(PG(http_globals)[TRACK_VARS_ENV]);
- INIT_PZVAL(PG(http_globals)[TRACK_VARS_ENV]);
- php_import_environment_variables(PG(http_globals)[TRACK_VARS_ENV] TSRMLS_CC);
- if (PG(register_globals)) {
- php_autoglobal_merge(&EG(symbol_table), Z_ARRVAL_P(PG(http_globals)[TRACK_VARS_ENV]) TSRMLS_CC);
- }
- }
-
- for (p=variables_order; p && *p; p++) {
+ for (p=PG(variables_order); p && *p; p++) {
switch(*p) {
case 'p':
case 'P':
@@ -626,15 +609,11 @@ int php_hash_environment(TSRMLS_D)
case 'e':
case 'E':
if (!jit_initialization && !_gpc_flags[3]) {
- if (have_variables_order) {
- php_auto_globals_create_env("_ENV", sizeof("_ENV")-1 TSRMLS_CC);
- if (PG(register_globals)) {
- php_autoglobal_merge(&EG(symbol_table), Z_ARRVAL_P(PG(http_globals)[TRACK_VARS_ENV]) TSRMLS_CC);
- }
- } else {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unsupported 'e' element (environment) used in gpc_order - use variables_order instead");
- }
+ php_auto_globals_create_env("_ENV", sizeof("_ENV")-1 TSRMLS_CC);
_gpc_flags[3]=1;
+ if (PG(register_globals)) {
+ php_autoglobal_merge(&EG(symbol_table), Z_ARRVAL_P(PG(http_globals)[TRACK_VARS_ENV]) TSRMLS_CC);
+ }
}
break;
case 's':
@@ -650,13 +629,6 @@ int php_hash_environment(TSRMLS_D)
}
}
- if (!jit_initialization && !have_variables_order && !_gpc_flags[4]) {
- php_register_server_variables(TSRMLS_C);
- if (PG(register_globals)) {
- php_autoglobal_merge(&EG(symbol_table), Z_ARRVAL_P(PG(http_globals)[TRACK_VARS_SERVER]) TSRMLS_CC);
- }
- }
-
/* argv/argc support */
if (PG(register_argc_argv)) {
php_build_argv(SG(request_info).query_string, PG(http_globals)[TRACK_VARS_SERVER] TSRMLS_CC);
@@ -734,21 +706,14 @@ static zend_bool php_auto_globals_create_env(char *name, uint name_len TSRMLS_DC
static zend_bool php_auto_globals_create_request(char *name, uint name_len TSRMLS_DC)
{
zval *form_variables;
- char *variables_order;
unsigned char _gpc_flags[3] = {0, 0, 0};
char *p;
- if (PG(variables_order)) {
- variables_order = PG(variables_order);
- } else {
- variables_order = PG(gpc_order);
- }
-
ALLOC_ZVAL(form_variables);
array_init(form_variables);
INIT_PZVAL(form_variables);
- for (p=variables_order; p && *p; p++) {
+ for (p=PG(variables_order); p && *p; p++) {
switch (*p) {
case 'g':
case 'G':