#define GET_STATIC_PROP(n) *GET_STATIC_PROP_EX(http_response_object_ce, n)
#define UPD_STATIC_PROP(t, n, v) UPD_STATIC_PROP_EX(http_response_object_ce, t, n, v)
#define SET_STATIC_PROP(n, v) SET_STATIC_PROP_EX(http_response_object_ce, n, v)
+#define UPD_STATIC_STRL(n, v, l) UPD_STATIC_STRL_EX(http_response_object_ce, n, v, l)
#define HTTP_BEGIN_ARGS(method, req_args) HTTP_BEGIN_ARGS_EX(HttpResponse, method, 0, req_args)
#define HTTP_EMPTY_ARGS(method, ret_ref) HTTP_EMPTY_ARGS_EX(HttpResponse, method, ret_ref)
HTTP_RESPONSE_ALIAS(getRequestHeaders, http_get_request_headers)
HTTP_RESPONSE_ALIAS(getRequestBody, http_get_request_body)
- {NULL, NULL, NULL}
+ EMPTY_FUNCTION_ENTRY
};
void _http_response_object_init(INIT_FUNC_ARGS)
http_error_ex(HE_WARNING, HTTP_E_INVALID_PARAM, "Cache-Control '%s' doesn't match public, private or no-cache", ccontrol);
RETURN_FALSE;
} else {
- spprintf(&cctl, 0, "%s, must-revalidate, max_age=%ld", ccontrol, max_age);
- RETVAL_SUCCESS(UPD_STATIC_PROP(string, cacheControl, cctl));
+ size_t cctl_len = spprintf(&cctl, 0, "%s, must-revalidate, max_age=%ld", ccontrol, max_age);
+ RETVAL_SUCCESS(UPD_STATIC_STRL(cacheControl, cctl, cctl_len));
efree(cctl);
}
}
RETURN_FALSE;
}
- RETURN_SUCCESS(UPD_STATIC_PROP(string, contentType, ctype));
+ RETURN_SUCCESS(UPD_STATIC_STRL(contentType, ctype, ctype_len));
}
/* }}} */
{
char *file, *cd;
int file_len;
+ size_t cd_len;
zend_bool send_inline = 0;
if (SUCCESS != zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|b", &file, &file_len, &send_inline)) {
RETURN_FALSE;
}
- spprintf(&cd, 0, "%s; filename=\"%s\"", send_inline ? "inline" : "attachment", file);
- RETVAL_SUCCESS(UPD_STATIC_PROP(string, contentDisposition, cd));
+ cd_len = spprintf(&cd, 0, "%s; filename=\"%s\"", send_inline ? "inline" : "attachment", file);
+ RETVAL_SUCCESS(UPD_STATIC_STRL(contentDisposition, cd, cd_len));
efree(cd);
}
/* }}} */
RETURN_FALSE;
}
- RETURN_SUCCESS(UPD_STATIC_PROP(string, eTag, etag));
+ RETURN_SUCCESS(UPD_STATIC_STRL(eTag, etag, etag_len));
}
/* }}} */
if (SUCCESS != zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &the_stream)) {
RETURN_FALSE;
}
- zend_list_addref(Z_LVAL_P(the_stream));
- php_stream_from_zval(the_real_stream, &the_stream);
+ php_stream_from_zval(the_real_stream, &the_stream);
if (php_stream_stat(the_real_stream, &ssb)) {
RETURN_FALSE;
}
(SUCCESS != UPD_STATIC_PROP(long, mode, SEND_RSRC))) {
RETURN_FALSE;
}
-
+ zend_list_addref(Z_LVAL_P(the_stream));
+
if (!(Z_LVAL_P(GET_STATIC_PROP(lastModified)) > 0)) {
UPD_STATIC_PROP(long, lastModified, http_last_modified(the_real_stream, SEND_RSRC));
}
RETURN_FALSE;
}
- if ( (SUCCESS != UPD_STATIC_PROP(string, file, the_file)) ||
+ if ( (SUCCESS != UPD_STATIC_STRL(file, the_file, file_len)) ||
(SUCCESS != UPD_STATIC_PROP(long, mode, -1))) {
RETURN_FALSE;
}