cvs: php4 /sapi/apache mod_php4.c

From: Date: Mon, 22 Jan 2001 00:06:52 +0000
Subject: cvs: php4 /sapi/apache mod_php4.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-3723@lists.php.net to get a copy of this message
zeev Sun Jan 21 16:06:52 2001 EDT Modified files: /php4/sapi/apache mod_php4.c Log: Don't overwrite PATH_TRANSLATED if it exists Index: php4/sapi/apache/mod_php4.c diff -u php4/sapi/apache/mod_php4.c:1.84 php4/sapi/apache/mod_php4.c:1.85 --- php4/sapi/apache/mod_php4.c:1.84 Wed Jan 3 14:45:11 2001 +++ php4/sapi/apache/mod_php4.c Sun Jan 21 16:06:52 2001 @@ -17,7 +17,7 @@ | PHP 4.0 patches by Zeev Suraski <zeev@zend.com> | +----------------------------------------------------------------------+ */ -/* $Id: mod_php4.c,v 1.84 2001/01/03 22:45:11 zeev Exp $ */ +/* $Id: mod_php4.c,v 1.85 2001/01/22 00:06:52 zeev Exp $ */ #define NO_REGEX_EXTRA_H #ifdef WIN32 @@ -225,25 +225,35 @@ array_header *arr = table_elts(((request_rec *) SG(server_context))->subprocess_env); table_entry *elts = (table_entry *) arr->elts; char *script_filename=NULL; + zval **path_translated; + HashTable *symbol_table; for (i = 0; i < arr->nelts; i++) { char *val; if (elts[i].val) { val = elts[i].val; - if (!strcmp(elts[i].key, "SCRIPT_FILENAME")) { - script_filename = val; - } } else { val = empty_string; } php_register_variable(elts[i].key, val, track_vars_array ELS_CC PLS_CC); } - /* insert special variables */ - if (script_filename) { - php_register_variable("PATH_TRANSLATED", script_filename, track_vars_array ELS_CC PLS_CC); + /* If PATH_TRANSLATED doesn't exist, copy it from SCRIPT_FILENAME */ + if (track_vars_array) { + symbol_table = track_vars_array->value.ht; + } else if (PG(register_globals)) { + /* should never happen nowadays */ + symbol_table = EG(active_symbol_table); + } else { + symbol_table = NULL; + } + if (symbol_table + && !zend_hash_exists(symbol_table, "PATH_TRANSLATED", sizeof("PATH_TRANSLATED")) + && zend_hash_find(symbol_table, "SCRIPT_FILENAME", sizeof("SCRIPT_FILENAME"), (void **) &path_translated)) { + php_register_variable("PATH_TRANSLATED", Z_STRVAL_PP(path_translated), track_vars_array ELS_CC PLS_CC); } + php_register_variable("PHP_SELF", ((request_rec *) SG(server_context))->uri, track_vars_array ELS_CC PLS_CC); }

« previous php.cvs (#3723) next »