Index: ext/standard/basic_functions.c
===================================================================
--- ext/standard/basic_functions.c (revision 288893)
+++ ext/standard/basic_functions.c (working copy)
@@ -6037,9 +6037,10 @@
int types_len;
zval *prefix = NULL;
char *p;
+ zend_bool successful = 0;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|z/", &types, &types_len, &prefix) == FAILURE) {
- return;
+ RETURN_FALSE;
}
if (ZEND_NUM_ARGS() > 1) {
@@ -6059,24 +6060,31 @@
case 'g':
case 'G':
zend_hash_apply_with_arguments(Z_ARRVAL_P(PG(http_globals)[TRACK_VARS_GET]) TSRMLS_CC, (apply_func_args_t) copy_request_variable, 1, prefix);
+ successful = 1;
break;
case 'p':
case 'P':
zend_hash_apply_with_arguments(Z_ARRVAL_P(PG(http_globals)[TRACK_VARS_POST]) TSRMLS_CC, (apply_func_args_t) copy_request_variable, 1, prefix);
zend_hash_apply_with_arguments(Z_ARRVAL_P(PG(http_globals)[TRACK_VARS_FILES]) TSRMLS_CC, (apply_func_args_t) copy_request_variable, 1, prefix);
+ successful = 1;
break;
case 'c':
case 'C':
zend_hash_apply_with_arguments(Z_ARRVAL_P(PG(http_globals)[TRACK_VARS_COOKIE]) TSRMLS_CC, (apply_func_args_t) copy_request_variable, 1, prefix);
+ successful = 1;
break;
+ default:
+ php_error_docref(NULL TSRMLS_CC, E_NOTICE, "Unsupported type character '%c'", *p);
+ break;
}
}
if (ZEND_NUM_ARGS() < 2) {
zval_ptr_dtor(&prefix);
}
+ RETURN_BOOL(successful);
}
/* }}} */