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