if(!in) {
char hdr[1024];
rcode = "404 File not found";
- r = snprintf(hdr, sizeof(hdr), "HTTP/1.1 %s\r\n\r\n", rcode);
+ snprintf(hdr, sizeof(hdr), "HTTP/1.1 %s\r\n\r\n", rcode);
+ r = strlen(hdr);
if(SSL_write(ssl, hdr, r) <= 0) {
/* write failure */
}
}
avail = len+header_reserve;
at = buf;
- r = snprintf(at, avail, "HTTP/1.1 %s\r\n", rcode);
+ snprintf(at, avail, "HTTP/1.1 %s\r\n", rcode);
+ r = strlen(at);
at += r;
avail -= r;
- r = snprintf(at, avail, "Server: petal/%s\r\n", PACKAGE_VERSION);
+ snprintf(at, avail, "Server: petal/%s\r\n", PACKAGE_VERSION);
+ r = strlen(at);
at += r;
avail -= r;
- r = snprintf(at, avail, "Content-Length: %u\r\n", (unsigned)len);
+ snprintf(at, avail, "Content-Length: %u\r\n", (unsigned)len);
+ r = strlen(at);
at += r;
avail -= r;
- r = snprintf(at, avail, "\r\n");
+ snprintf(at, avail, "\r\n");
+ r = strlen(at);
at += r;
avail -= r;
if(avail < len) { /* robust */
}
/* print headers */
- r = snprintf(at, avail, "HTTP/1.1 %s\r\n", rcode);
+ snprintf(at, avail, "HTTP/1.1 %s\r\n", rcode);
+ r = strlen(at);
at += r;
avail -= r;
- r = snprintf(at, avail, "Server: petal/%s\r\n", PACKAGE_VERSION);
+ snprintf(at, avail, "Server: petal/%s\r\n", PACKAGE_VERSION);
+ r = strlen(at);
at += r;
avail -= r;
- r = snprintf(at, avail, "Transfer-Encoding: chunked\r\n");
+ snprintf(at, avail, "Transfer-Encoding: chunked\r\n");
+ r = strlen(at);
at += r;
avail -= r;
- r = snprintf(at, avail, "Connection: close\r\n");
+ snprintf(at, avail, "Connection: close\r\n");
+ r = strlen(at);
at += r;
avail -= r;
- r = snprintf(at, avail, "\r\n");
+ snprintf(at, avail, "\r\n");
+ r = strlen(at);
at += r;
avail -= r;
if(avail < 16) { /* robust */
/* read chunk; space-16 for xxxxCRLF..CRLF0CRLFCRLF (3 spare)*/
size_t red = in?fread(tmpbuf, 1, avail-16, in):0;
/* prepare chunk */
- r = snprintf(at, avail, "%x\r\n", (unsigned)red);
+ snprintf(at, avail, "%x\r\n", (unsigned)red);
+ r = strlen(at);
if(verb >= 3)
{printf("chunk len %x\n", (unsigned)red); fflush(stdout);}
at += r;
memmove(at, tmpbuf, red);
at += red;
avail -= red;
- r = snprintf(at, avail, "\r\n");
+ snprintf(at, avail, "\r\n");
+ r = strlen(at);
at += r;
avail -= r;
}
if(in && feof(in) && red != 0) {
- r = snprintf(at, avail, "0\r\n");
+ snprintf(at, avail, "0\r\n");
+ r = strlen(at);
at += r;
avail -= r;
}
if(!in || feof(in)) {
- r = snprintf(at, avail, "\r\n");
+ snprintf(at, avail, "\r\n");
+ r = strlen(at);
at += r;
avail -= r;
}