various bug fixes
diff --git a/src/libhttpd/parsereq.c b/src/libhttpd/parsereq.c
index 7ef6341..9423798 100644
--- a/src/libhttpd/parsereq.c
+++ b/src/libhttpd/parsereq.c
@@ -41,8 +41,8 @@
 	 * only works for http/1.1 or later.
 	 */
 	alarm(timeout);
-	if(!hgethead(c, 0))
-		return 0;
+	if(hgethead(c, 0) < 0)
+		return -1;
 	alarm(0);
 	c->reqtime = time(nil);
 	c->req.meth = getword(c);