static inline char *_http_etag(char **new_etag, const void *data_ptr,
const size_t data_len, const http_send_mode data_mode TSRMLS_DC)
{
static inline char *_http_etag(char **new_etag, const void *data_ptr,
const size_t data_len, const http_send_mode data_mode TSRMLS_DC)
{
if (key_type == HASH_KEY_IS_STRING) {
zend_hash_get_current_key(Z_ARRVAL_P(zoption), &header_key, NULL, 0);
zend_hash_get_current_data(Z_ARRVAL_P(zoption), (void **) &header_val);
if (key_type == HASH_KEY_IS_STRING) {
zend_hash_get_current_key(Z_ARRVAL_P(zoption), &header_key, NULL, 0);
zend_hash_get_current_data(Z_ARRVAL_P(zoption), (void **) &header_val);
- snprintf(header, 1024, "%s: %s", header_key, Z_STRVAL_PP(header_val));
+ snprintf(header, 1023, "%s: %s", header_key, Z_STRVAL_PP(header_val));
headers = curl_slist_append(headers, header);
zend_hash_move_forward(Z_ARRVAL_P(zoption));
}
headers = curl_slist_append(headers, header);
zend_hash_move_forward(Z_ARRVAL_P(zoption));
}
/* {{{ static inline http_curl_getinfo(CURL, HashTable *) */
static inline void _http_curl_getinfo(CURL *ch, HashTable *info TSRMLS_DC)
{
/* {{{ static inline http_curl_getinfo(CURL, HashTable *) */
static inline void _http_curl_getinfo(CURL *ch, HashTable *info TSRMLS_DC)
{
/* CURLINFO_EFFECTIVE_URL = CURLINFO_STRING +1, */
INFO(EFFECTIVE_URL);
/* CURLINFO_RESPONSE_CODE = CURLINFO_LONG +2, */
/* CURLINFO_EFFECTIVE_URL = CURLINFO_STRING +1, */
INFO(EFFECTIVE_URL);
/* CURLINFO_RESPONSE_CODE = CURLINFO_LONG +2, */
PHP_HTTP_API char *_http_date(time_t t TSRMLS_DC)
{
struct tm *gmtime, tmbuf;
PHP_HTTP_API char *_http_date(time_t t TSRMLS_DC)
{
struct tm *gmtime, tmbuf;
- header_len = strlen("ETag: \"\"") + etag_len + 1;
- etag_header = (char *) emalloc(header_len);
- snprintf(etag_header, header_len, "ETag: \"%s\"", etag);
+ header_len = sizeof("ETag: \"\"") + etag_len + 1;
+ etag_header = ecalloc(header_len, 1);
+ sprintf(etag_header, "ETag: \"%s\"", etag);
PHP_HTTP_API STATUS _http_send(const void *data_ptr, const size_t data_size,
const http_send_mode data_mode TSRMLS_DC)
{
PHP_HTTP_API STATUS _http_send(const void *data_ptr, const size_t data_size,
const http_send_mode data_mode TSRMLS_DC)
{
- if (NULL == http_etag(&new_etag, data_ptr, data_size, data_mode)) {
- efree(new_etag);
+ if (NULL == http_etag(&etag, data_ptr, data_size, data_mode)) {
+ efree(etag);
- add_assoc_stringl(array, key, "", 0, 0);
+ add_assoc_stringl(array, key, "", 0, 1);
} else {
add_assoc_stringl(array, key, colon, value_len, 1);
}
} else {
add_assoc_stringl(array, key, colon, value_len, 1);
}