Fixed register_argc_argv

This commit is contained in:
Dmitry Stogov 2006-03-17 15:04:23 +00:00
parent c6b425432a
commit fb7324bb71
3 changed files with 3 additions and 9 deletions

View file

@ -639,7 +639,7 @@ static void php_build_argv(char *s, zval *track_vars_array TSRMLS_DC)
int count = 0; int count = 0;
char *ss, *space; char *ss, *space;
if (!(SG(request_info).argc || track_vars_array)) { if (!(SG(request_info).argc || (s && *s))) {
return; return;
} }
@ -696,7 +696,7 @@ static void php_build_argv(char *s, zval *track_vars_array TSRMLS_DC)
argc->is_ref = 0; argc->is_ref = 0;
argc->refcount = 0; argc->refcount = 0;
if (SG(request_info).argc) { if (Z_LVAL_P(argc)) {
arr->refcount++; arr->refcount++;
argc->refcount++; argc->refcount++;
zend_hash_update(&EG(symbol_table), "argv", sizeof("argv"), &arr, sizeof(zval *), NULL); zend_hash_update(&EG(symbol_table), "argv", sizeof("argv"), &arr, sizeof(zval *), NULL);

View file

@ -8,16 +8,9 @@ register_argc_argv=1
ab+cd+ef+123+test ab+cd+ef+123+test
--FILE-- --FILE--
<?php <?php
if (!ini_get('register_globals')) {
$argc = $_SERVER['argc'];
$argv = $_SERVER['argv'];
}
for ($i=0; $i<$argc; $i++) { for ($i=0; $i<$argc; $i++) {
echo "$i: ".$argv[$i]."\n"; echo "$i: ".$argv[$i]."\n";
} }
?> ?>
--EXPECT-- --EXPECT--
0: ab 0: ab

View file

@ -2,6 +2,7 @@
Bug #29971 (variables_order behaviour) Bug #29971 (variables_order behaviour)
--INI-- --INI--
variables_order=GPC variables_order=GPC
register_argc_argv=0
--FILE-- --FILE--
<?php <?php
var_dump($_ENV,$_SERVER); var_dump($_ENV,$_SERVER);