header[header_len] = '\0';
snprintf(header, header_len, "%s: %s", name, value);
ret = http_send_header_string_ex(header, replace);
- efree(header);
+ if (sent_header) {
+ *sent_header = header;
+ } else {
+ efree(header);
+ }
return ret;
}
/* }}} */
return FAILURE;
}
- ret = http_send_header_ex("Last-Modified", lenof("Last-Modifed"), date, strlen(date), 1, sent_header);
+ ret = http_send_header_ex("Last-Modified", lenof("Last-Modified"), date, strlen(date), 1, sent_header);
efree(date);
/* remember */
/* multi range */
else {
+ size_t preface_len;
char bound[23] = {0}, preface[1024] = {0},
multi_header[68] = "Content-Type: multipart/byteranges; boundary=";
break;
}
- snprintf(preface, 1023,
+ preface_len = snprintf(preface, 1023,
HTTP_CRLF "%s"
HTTP_CRLF "Content-Type: %s"
HTTP_CRLF "Content-Range: bytes %ld-%ld/%lu"
(ulong) size
);
- PHPWRITE(preface, strlen(preface));
+ PHPWRITE(preface, preface_len);
http_send_chunk(data, Z_LVAL_PP(zbegin), Z_LVAL_PP(zend) + 1, mode);
}