#define HTTP_DO_NEGOTIATE(type, supported, rs_array) \
{ \
HashTable *result; \
- if (result = http_negotiate_ ##type(supported)) { \
+ if ((result = http_negotiate_ ##type(supported))) { \
char *key; \
uint key_len; \
ulong idx; \
} \
\
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);
/* 0 or omitted */
if (!last_modified) {
/* does the client have? (att: caching "forever") */
- if (zlm = http_get_server_var("HTTP_IF_MODIFIED_SINCE")) {
+ if ((zlm = http_get_server_var("HTTP_IF_MODIFIED_SINCE"))) {
last_modified = send_modified = http_parse_date(Z_STRVAL_P(zlm));
/* send current time */
} else {
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)));
}
RETURN_NULL();
}
- if (msg = http_message_parse(message, message_len)) {
+ if ((msg = http_message_parse(message, message_len))) {
object_init(return_value);
http_message_tostruct_recursive(msg, return_value);
http_message_free(&msg);
if (SUCCESS != zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &method, &method_len)) {
RETURN_FALSE;
}
- if (existing = http_request_method_exists(1, 0, method)) {
+ if ((existing = http_request_method_exists(1, 0, method))) {
RETURN_LONG((long) existing);
}