]> granicus.if.org Git - php/commitdiff
Revisit the braindead patch only for this branch
authorMoriyoshi Koizumi <moriyoshi@php.net>
Tue, 20 May 2003 07:34:08 +0000 (07:34 +0000)
committerMoriyoshi Koizumi <moriyoshi@php.net>
Tue, 20 May 2003 07:34:08 +0000 (07:34 +0000)
# this behaviour is fixed in the php5 branch

sapi/apache2filter/sapi_apache2.c
sapi/apache2handler/sapi_apache2.c

index a84052a09280f09e6320d770b0ef2f0239702a14..a0a5a4efbcc9b579d187046b9a3464875d266e91 100644 (file)
@@ -205,13 +205,20 @@ php_apache_sapi_register_variables(zval *track_vars_array TSRMLS_DC)
        php_struct *ctx = SG(server_context);
        const apr_array_header_t *arr = apr_table_elts(ctx->r->subprocess_env);
        char *key, *val;
+       zval **path_translated_zv;
        
        APR_ARRAY_FOREACH_OPEN(arr, key, val)
                if (!val) val = empty_string;
                php_register_variable(key, val, track_vars_array TSRMLS_CC);
        APR_ARRAY_FOREACH_CLOSE()
-               
+
        php_register_variable("PHP_SELF", ctx->r->uri, track_vars_array TSRMLS_CC);
+
+       /* If PATH_TRANSLATED doesn't exist, copy it from SCRIPT_FILENAME */
+       if (!zend_hash_exists(Z_ARRVAL_P(track_vars_array), "PATH_TRANSLATED", sizeof("PATH_TRANSLATED"))
+               && zend_hash_find(Z_ARRVAL_P(track_vars_array), "SCRIPT_FILENAME", sizeof("SCRIPT_FILENAME"), (void **) &path_translated_zv) == SUCCESS) {
+               php_register_variable("PATH_TRANSLATED", Z_STRVAL_PP(path_translated_zv), track_vars_array TSRMLS_CC);
+       }
 }
 
 static void
index b6492db8d54a08425ef22a0b89f627e182ff16a0..696c121a55a513e901a49f7603af6d41454c6808 100644 (file)
@@ -225,13 +225,20 @@ php_apache_sapi_register_variables(zval *track_vars_array TSRMLS_DC)
        php_struct *ctx = SG(server_context);
        const apr_array_header_t *arr = apr_table_elts(ctx->r->subprocess_env);
        char *key, *val;
-       
+       zval **path_translated_zv;
+
        APR_ARRAY_FOREACH_OPEN(arr, key, val)
                if (!val) val = empty_string;
                php_register_variable(key, val, track_vars_array TSRMLS_CC);
        APR_ARRAY_FOREACH_CLOSE()
-               
+
        php_register_variable("PHP_SELF", ctx->r->uri, track_vars_array TSRMLS_CC);
+
+       /* If PATH_TRANSLATED doesn't exist, copy it from SCRIPT_FILENAME */
+       if (!zend_hash_exists(Z_ARRVAL_P(track_vars_array), "PATH_TRANSLATED", sizeof("PATH_TRANSLATED"))
+               && zend_hash_find(Z_ARRVAL_P(track_vars_array), "SCRIPT_FILENAME", sizeof("SCRIPT_FILENAME"), (void **) &path_translated_zv) == SUCCESS) {
+               php_register_variable("PATH_TRANSLATED", Z_STRVAL_PP(path_translated_zv), track_vars_array TSRMLS_CC);
+       }
 }
 
 static void