cvs: php-src /ext/filter/tests bug44779.phpt /sapi/cli php_cli.c

From: Date: Thu, 24 Jul 2008 09:11:48 +0000
Subject: cvs: php-src /ext/filter/tests bug44779.phpt /sapi/cli php_cli.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-51507@lists.php.net to get a copy of this message
lbarnaud Thu Jul 24 09:11:48 2008 UTC Added files: /php-src/ext/filter/tests bug44779.phpt Modified files: /php-src/sapi/cli php_cli.c Log: Allow filters to work on INPUT_SERVER in CLI (bug #44779) http://cvs.php.net/viewvc.cgi/php-src/sapi/cli/php_cli.c?r1=1.191&r2=1.192&diff_format=u Index: php-src/sapi/cli/php_cli.c diff -u php-src/sapi/cli/php_cli.c:1.191 php-src/sapi/cli/php_cli.c:1.192 --- php-src/sapi/cli/php_cli.c:1.191 Wed Jul 23 11:24:35 2008 +++ php-src/sapi/cli/php_cli.c Thu Jul 24 09:11:48 2008 @@ -20,7 +20,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_cli.c,v 1.191 2008/07/23 11:24:35 tony2001 Exp $ */ +/* $Id: php_cli.c,v 1.192 2008/07/24 09:11:48 lbarnaud Exp $ */ #include "php.h" #include "php_globals.h" @@ -296,19 +296,35 @@ static void sapi_cli_register_variables(zval *track_vars_array TSRMLS_DC) /* {{{ */ { + size_t len; + char *docroot = ""; + /* In CGI mode, we consider the environment to be a part of the server * variables */ php_import_environment_variables(track_vars_array TSRMLS_CC); /* Build the special-case PHP_SELF variable for the CLI version */ - php_register_variable("PHP_SELF", php_self, track_vars_array TSRMLS_CC); - php_register_variable("SCRIPT_NAME", php_self, track_vars_array TSRMLS_CC); + len = strlen(php_self); + if (sapi_module.input_filter(PARSE_SERVER, "PHP_SELF", &php_self, len, &len TSRMLS_CC)) { + php_register_variable("PHP_SELF", php_self, track_vars_array TSRMLS_CC); + } + if (sapi_module.input_filter(PARSE_SERVER, "SCRIPT_NAME", &php_self, len, &len TSRMLS_CC)) { + php_register_variable("SCRIPT_NAME", php_self, track_vars_array TSRMLS_CC); + } /* filenames are empty for stdin */ - php_register_variable("SCRIPT_FILENAME", script_filename, track_vars_array TSRMLS_CC); - php_register_variable("PATH_TRANSLATED", script_filename, track_vars_array TSRMLS_CC); + len = strlen(script_filename); + if (sapi_module.input_filter(PARSE_SERVER, "SCRIPT_FILENAME", &script_filename, len, &len TSRMLS_CC)) { + php_register_variable("SCRIPT_FILENAME", script_filename, track_vars_array TSRMLS_CC); + } + if (sapi_module.input_filter(PARSE_SERVER, "PATH_TRANSLATED", &script_filename, len, &len TSRMLS_CC)) { + php_register_variable("PATH_TRANSLATED", script_filename, track_vars_array TSRMLS_CC); + } /* just make it available */ - php_register_variable("DOCUMENT_ROOT", "", track_vars_array TSRMLS_CC); + len = 0U; + if (sapi_module.input_filter(PARSE_SERVER, "DOCUMENT_ROOT", &docroot, len, &len TSRMLS_CC)) { + php_register_variable("DOCUMENT_ROOT", docroot, track_vars_array TSRMLS_CC); + } } /* }}} */ http://cvs.php.net/viewvc.cgi/php-src/ext/filter/tests/bug44779.phpt?view=markup&rev=1.1 Index: php-src/ext/filter/tests/bug44779.phpt +++ php-src/ext/filter/tests/bug44779.phpt --TEST-- Bug #44779 (filter returns NULL in CLI when it shouldn't) --FILE-- <?php var_dump(filter_input(INPUT_SERVER, "PHP_SELF")); ?> --EXPECTF-- %unicode|string%(%d) "%s"

« previous php.cvs (#51507) next »