-
- arg.list = list;
- arg.flags = flags;
- arg.allowed_extras = allowed_extras;
-
- if (SUCCESS != php_http_params_parse(string, PHP_HTTP_PARAMS_RAISE_ERROR, php_http_cookie_parse_callback, &arg TSRMLS_CC)) {
- if (free_list) {
- php_http_cookie_list_free(&list TSRMLS_CC);
- } else {
- php_http_cookie_list_dtor(list TSRMLS_CC);
+ FOREACH_HASH_KEYVAL(pos1, ¶ms, key, param) {
+ if (Z_TYPE_PP(param) == IS_ARRAY) {
+ if (SUCCESS == zend_hash_find(Z_ARRVAL_PP(param), ZEND_STRS("value"), (void *) &val)) {
+ add_entry(list, NULL, flags, &key, *val);
+ }
+ if (SUCCESS == zend_hash_find(Z_ARRVAL_PP(param), ZEND_STRS("arguments"), (void *) &args) && Z_TYPE_PP(args) == IS_ARRAY) {
+ FOREACH_KEYVAL(pos2, *args, key, arg) {
+ add_entry(list, allowed_extras, flags, &key, *arg);
+ }
+ }