commit - 94235a8b4bdd20766b41302fa21a31df660b078b
commit + 4bef0baf95850b1ee0fa5f5a8fda20872ce59426
blob - 450f60f7e9474bf28abda30f351c9a18f48f34ff
blob + 333495784964d03daa3344c754eddf00e10f8fb1
--- src/libhttpd/date.c
+++ src/libhttpd/date.c
strcpy(tm.zone, "GMT");
tm.tzoff = 0;
+ tm.yday = 0;
return tm2sec(&tm);
}
blob - a89f311dd9cb3e929c58170faa1e8a706267b4cf
blob + 937997d03531bd7d675eb2d853f12869d3f7f877
--- src/libhttpd/hio.c
+++ src/libhttpd/hio.c
s = strchr(hxfers, buf[1]);
if(s == nil)
- return 0;
+ return -1;
h->xferenc = s - hxfers;
t = h->start;
return n;
}
-int
-hflush(Hio *h)
+static int
+_hflush(Hio *h, int dolength)
{
uchar *s;
int w;
h->pos[1] = '\n';
w = &h->pos[2] - s;
}
+ if(dolength)
+ fprint(h->fd, "Content-Length: %d\r\n\r\n", w);
if(write(h->fd, s, w) != w){
h->state = Herr;
h->stop = h->pos;
h->seek += w;
h->pos = h->start;
return 0;
+}
+
+int
+hflush(Hio *h)
+{
+ return _hflush(h, 0);
}
int
+hlflush(Hio* h)
+{
+ return _hflush(h, 1);
+}
+
+int
hwrite(Hio *h, void *vbuf, int len)
{
uchar *pos, *buf;