} \
\
if (rs_array) { \
+ HashPosition pos; \
zval **value; \
\
- FOREACH_VAL(supported, value) { \
+ FOREACH_VAL(pos, supported, value) { \
convert_to_string_ex(value); \
add_assoc_double(rs_array, Z_STRVAL_PP(value), 1.0); \
} \
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|l", &last_modified) != SUCCESS) {
RETURN_FALSE;
}
+
+ HTTP_CHECK_HEADERS_SENT(RETURN_FALSE);
t = (long) time(NULL);
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s", &etag, &etag_len) != SUCCESS) {
RETURN_FALSE;
}
+
+ HTTP_CHECK_HEADERS_SENT(RETURN_FALSE);
RETURN_SUCCESS(http_cache_etag(etag, etag_len, HTTP_DEFAULT_CACHECONTROL, lenof(HTTP_DEFAULT_CACHECONTROL)));
}
int prefix_len = 0, arg_sep_len = strlen(arg_sep);
phpstr *formstr;
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z|ss", &formdata, &prefix, &prefix_len, &arg_sep, &arg_sep_len) != SUCCESS) {
- RETURN_FALSE;
- }
-
- if (Z_TYPE_P(formdata) != IS_ARRAY && Z_TYPE_P(formdata) != IS_OBJECT) {
- http_error(HE_WARNING, HTTP_E_INVALID_PARAM, "Parameter 1 expected to be Array or Object. Incorrect value given.");
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a|ss", &formdata, &prefix, &prefix_len, &arg_sep, &arg_sep_len) != SUCCESS) {
RETURN_FALSE;
}
if (!arg_sep_len) {
arg_sep = HTTP_URL_ARGSEP;
+ arg_sep_len = lenof(HTTP_URL_ARGSEP);
}
formstr = phpstr_new();
- if (SUCCESS != http_urlencode_hash_implementation_ex(HASH_OF(formdata), formstr, arg_sep, prefix, prefix_len, NULL, 0, NULL, 0, (Z_TYPE_P(formdata) == IS_OBJECT ? formdata : NULL))) {
+ if (SUCCESS != http_urlencode_hash_recursive(HASH_OF(formdata), formstr, arg_sep, arg_sep_len, prefix, prefix_len)) {
phpstr_free(&formstr);
RETURN_FALSE;
}