helly Wed Feb 11 16:00:47 2004 EDT
Modified files:
/php-src/sapi/cgi cgi_main.c
/php-src/sapi/cli php_cli.c
Log:
Bugfix #27104 CLI/CGI SAPI module variable name conflict
http://cvs.php.net/diff.php/php-src/sapi/cgi/cgi_main.c?r1=1.248&r2=1.249&ty=u
Index: php-src/sapi/cgi/cgi_main.c
diff -u php-src/sapi/cgi/cgi_main.c:1.248 php-src/sapi/cgi/cgi_main.c:1.249
--- php-src/sapi/cgi/cgi_main.c:1.248 Wed Feb 11 09:52:12 2004
+++ php-src/sapi/cgi/cgi_main.c Wed Feb 11 16:00:44 2004
@@ -20,7 +20,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: cgi_main.c,v 1.248 2004/02/11 14:52:12 iliaa Exp $ */
+/* $Id: cgi_main.c,v 1.249 2004/02/11 21:00:44 helly Exp $ */
#include "php.h"
#include "php_globals.h"
@@ -119,8 +119,8 @@
#define PHP_MODE_LINT 4
#define PHP_MODE_STRIP 5
-static char *optarg = NULL;
-static int optind = 1;
+static char *php_optarg = NULL;
+static int php_optind = 1;
static const opt_struct OPTIONS[] = {
{'a', 0, "interactive"},
@@ -928,8 +928,8 @@
/* temporary locals */
int behavior=PHP_MODE_STANDARD;
int no_headers=0;
- int orig_optind=optind;
- char *orig_optarg=optarg;
+ int orig_optind=php_optind;
+ char *orig_optarg=php_optarg;
char *script_file=NULL;
zend_llist global_vars;
#if FORCE_CGI_REDIRECT
@@ -1018,10 +1018,10 @@
/* allow ini override for fastcgi */
#endif
) {
- while ((c=php_getopt(argc, argv, OPTIONS, &optarg, &optind, 0))!=-1) {
+ while ((c=php_getopt(argc, argv, OPTIONS, &php_optarg, &php_optind,
0))!=-1) {
switch (c) {
case 'c':
- cgi_sapi_module.php_ini_path_override =
strdup(optarg);
+ cgi_sapi_module.php_ini_path_override =
strdup(php_optarg);
break;
case 'n':
cgi_sapi_module.php_ini_ignore = 1;
@@ -1033,7 +1033,7 @@
server by accepting a bindpath parameter. */
case 'b':
if (!fastcgi) {
- bindpath = strdup(optarg);
+ bindpath = strdup(php_optarg);
}
break;
#endif
@@ -1041,8 +1041,8 @@
}
}
- optind = orig_optind;
- optarg = orig_optarg;
+ php_optind = orig_optind;
+ php_optarg = orig_optarg;
}
#ifdef ZTS
@@ -1254,7 +1254,7 @@
&& !fastcgi
#endif
) {
- while ((c=php_getopt(argc, argv, OPTIONS, &optarg, &optind,
1))!=-1) {
+ while ((c=php_getopt(argc, argv, OPTIONS, &php_optarg,
&php_optind, 1))!=-1) {
switch (c) {
case 'h':
case '?':
@@ -1268,8 +1268,8 @@
break;
}
}
- optind = orig_optind;
- optarg = orig_optarg;
+ php_optind = orig_optind;
+ php_optarg = orig_optarg;
}
#if PHP_FASTCGI
@@ -1319,7 +1319,7 @@
exit(1);
}
- while ((c = php_getopt(argc, argv, OPTIONS, &optarg, &optind,
0)) != -1) {
+ while ((c = php_getopt(argc, argv, OPTIONS, &php_optarg,
&php_optind, 0)) != -1) {
switch (c) {
case 'a': /* interactive mode */
@@ -1331,7 +1331,7 @@
SG(options) |= SAPI_OPTION_NO_CHDIR;
break;
case 'd': /* define ini entries on command line */
- define_command_line_ini_entry(optarg);
+
define_command_line_ini_entry(php_optarg);
break;
case 'e': /* enable extended info output */
@@ -1339,16 +1339,16 @@
break;
case 'f': /* parse file */
- script_file = estrdup(optarg);
+ script_file = estrdup(php_optarg);
no_headers = 1;
/* arguments after the file are
considered script args */
- SG(request_info).argc = argc -
(optind-1);
- SG(request_info).argv =
&argv[optind-1];
+ SG(request_info).argc = argc -
(php_optind-1);
+ SG(request_info).argv =
&argv[php_optind-1];
break;
case 'g': /* define global variables on command line */
{
- char *arg = estrdup(optarg);
+ char *arg =
estrdup(php_optarg);
zend_llist_add_element(&global_vars, &arg);
}
@@ -1424,7 +1424,7 @@
break;
case 'z': /* load extension file */
- zend_load_extension(optarg);
+ zend_load_extension(php_optarg);
break;
default:
@@ -1442,12 +1442,12 @@
SG(request_info).no_headers = 1;
}
- if (!SG(request_info).path_translated && argc > optind) {
+ if (!SG(request_info).path_translated && argc > php_optind) {
/* arguments after the file are considered script args
*/
- SG(request_info).argc = argc - optind;
- SG(request_info).argv = &argv[optind];
+ SG(request_info).argc = argc - php_optind;
+ SG(request_info).argv = &argv[php_optind];
/* file is on command line, but not in -f opt */
- SG(request_info).path_translated =
estrdup(argv[optind++]);
+ SG(request_info).path_translated =
estrdup(argv[php_optind++]);
}
/* all remaining arguments are part of the query string
@@ -1459,15 +1459,15 @@
test.php "v1=test&v2=hello world!"
test.php v1=test "v2=hello world!"
*/
- if (!SG(request_info).query_string && argc > optind) {
+ if (!SG(request_info).query_string && argc > php_optind) {
len = 0;
- for (i = optind; i < argc; i++) {
+ for (i = php_optind; i < argc; i++) {
len += strlen(argv[i]) + 1;
}
s = malloc(len + 1); /* leak - but only for command
line version, so ok */
*s = '\0'; /* we are pretending
it came from the environment */
- for (i = optind, len = 0; i < argc; i++) {
+ for (i = php_optind, len = 0; i < argc; i++) {
strcat(s, argv[i]);
if (i < (argc - 1)) {
strcat(s, PG(arg_separator).input);
http://cvs.php.net/diff.php/php-src/sapi/cli/php_cli.c?r1=1.109&r2=1.110&ty=u
Index: php-src/sapi/cli/php_cli.c
diff -u php-src/sapi/cli/php_cli.c:1.109 php-src/sapi/cli/php_cli.c:1.110
--- php-src/sapi/cli/php_cli.c:1.109 Thu Feb 5 22:08:27 2004
+++ php-src/sapi/cli/php_cli.c Wed Feb 11 16:00:46 2004
@@ -19,7 +19,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: php_cli.c,v 1.109 2004/02/06 03:08:27 iliaa Exp $ */
+/* $Id: php_cli.c,v 1.110 2004/02/11 21:00:46 helly Exp $ */
#include "php.h"
#include "php_globals.h"
@@ -89,8 +89,8 @@
#define PHP_MODE_CLI_DIRECT 6
#define PHP_MODE_PROCESS_STDIN 7
-static char *optarg = NULL;
-static int optind = 1;
+static char *php_optarg = NULL;
+static int php_optind = 1;
static const opt_struct OPTIONS[] = {
{'a', 0, "interactive"},
@@ -527,8 +527,8 @@
zend_file_handle file_handle;
/* temporary locals */
int behavior=PHP_MODE_STANDARD;
- int orig_optind=optind;
- char *orig_optarg=optarg;
+ int orig_optind=php_optind;
+ char *orig_optarg=php_optarg;
char *arg_free=NULL, **arg_excp=&arg_free;
char *script_file=NULL;
zend_llist global_vars;
@@ -594,18 +594,18 @@
#endif
- while ((c = php_getopt(argc, argv, OPTIONS, &optarg, &optind, 0))!=-1) {
+ while ((c = php_getopt(argc, argv, OPTIONS, &php_optarg, &php_optind, 0))!=-1)
{
switch (c) {
case 'c':
- cli_sapi_module.php_ini_path_override = strdup(optarg);
+ cli_sapi_module.php_ini_path_override = strdup(php_optarg);
break;
case 'n':
cli_sapi_module.php_ini_ignore = 1;
break;
}
}
- optind = orig_optind;
- optarg = orig_optarg;
+ php_optind = orig_optind;
+ php_optarg = orig_optarg;
cli_sapi_module.executable_location = argv[0];
@@ -649,11 +649,11 @@
INI_HARDCODED("output_buffering", "0");
INI_HARDCODED("max_execution_time", "0");
- while ((c = php_getopt(argc, argv, OPTIONS, &optarg, &optind, 0)) !=
-1) {
+ while ((c = php_getopt(argc, argv, OPTIONS, &php_optarg, &php_optind,
0)) != -1) {
switch (c) {
case 'd': /* define ini entries on command line */
- define_command_line_ini_entry(optarg);
+ define_command_line_ini_entry(php_optarg);
break;
case 'h': /* help & quit */
@@ -708,9 +708,9 @@
/* Set some CLI defaults */
SG(options) |= SAPI_OPTION_NO_CHDIR;
- optind = orig_optind;
- optarg = orig_optarg;
- while ((c = php_getopt(argc, argv, OPTIONS, &optarg, &optind, 0)) !=
-1) {
+ php_optind = orig_optind;
+ php_optarg = orig_optarg;
+ while ((c = php_getopt(argc, argv, OPTIONS, &php_optarg, &php_optind,
0)) != -1) {
switch (c) {
case 'a': /* interactive mode */
@@ -738,7 +738,7 @@
break;
}
behavior=PHP_MODE_PROCESS_STDIN;
- script_file = optarg;
+ script_file = php_optarg;
break;
case 'f': /* parse file */
@@ -749,12 +749,12 @@
param_error = "You can use -f only once.\n";
break;
}
- script_file = optarg;
+ script_file = php_optarg;
break;
case 'g': /* define global variables on command line */
{
- char *arg = estrdup(optarg);
+ char *arg = estrdup(php_optarg);
zend_llist_add_element(&global_vars, &arg);
}
@@ -792,7 +792,7 @@
break;
}
behavior=PHP_MODE_CLI_DIRECT;
- exec_direct=optarg;
+ exec_direct=php_optarg;
break;
case 'R':
@@ -806,7 +806,7 @@
break;
}
behavior=PHP_MODE_PROCESS_STDIN;
- exec_run=optarg;
+ exec_run=php_optarg;
break;
case 'B':
@@ -820,7 +820,7 @@
break;
}
behavior=PHP_MODE_PROCESS_STDIN;
- exec_begin=optarg;
+ exec_begin=php_optarg;
break;
case 'E':
@@ -834,7 +834,7 @@
break;
}
behavior=PHP_MODE_PROCESS_STDIN;
- exec_end=optarg;
+ exec_end=php_optarg;
break;
case 's': /* generate highlighted HTML from source */
@@ -854,7 +854,7 @@
break;
case 'z': /* load extension file */
- zend_load_extension(optarg);
+ zend_load_extension(php_optarg);
break;
case 'H':
hide_argv = 1;
@@ -874,14 +874,14 @@
CG(interactive) = interactive;
/* only set script_file if not set already and not in direct mode and
not at end of parameter list */
- if (argc > optind
+ if (argc > php_optind
&& !script_file
&& behavior!=PHP_MODE_CLI_DIRECT
&& behavior!=PHP_MODE_PROCESS_STDIN
- && strcmp(argv[optind-1],"--"))
+ && strcmp(argv[php_optind-1],"--"))
{
- script_file=argv[optind];
- optind++;
+ script_file=argv[php_optind];
+ php_optind++;
}
if (script_file) {
if (cli_seek_file_begin(&file_handle, script_file, &lineno
TSRMLS_CC) != SUCCESS) {
@@ -903,12 +903,12 @@
/* before registering argv to module exchange the *new* argv[0] */
/* we can achieve this without allocating more memory */
- SG(request_info).argc=argc-optind+1;
- arg_excp = argv+optind-1;
- arg_free = argv[optind-1];
+ SG(request_info).argc=argc-php_optind+1;
+ arg_excp = argv+php_optind-1;
+ arg_free = argv[php_optind-1];
SG(request_info).path_translated = file_handle.filename;
- argv[optind-1] = file_handle.filename;
- SG(request_info).argv=argv+optind-1;
+ argv[php_optind-1] = file_handle.filename;
+ SG(request_info).argv=argv+php_optind-1;
if (php_request_startup(TSRMLS_C)==FAILURE) {
*arg_excp = arg_free;
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php