Commit Diff


commit - 9659786c230c5dd9f5bb0193e07d068d828dfb44
commit + 140a1abdc7de2af3283c254cf82435384495b1c0
blob - 3b7cac00601246e8742be2ebf240ea4665858c1a
blob + c892b6b9639d0a5658a1aff25591beebb10294d4
--- net.c
+++ net.c
@@ -394,7 +394,7 @@ net_ev(int fd, int ev, void *d)
 	ssize_t		 read;
 	size_t		 len;
 	char		*header;
-	int		 r;
+	int		 code;
 
 	if (ev == EV_TIMEOUT) {
 		close_with_err(req, "Timeout loading page");
@@ -501,17 +501,17 @@ net_ev(int fd, int ev, void *d)
 			return;
 		}
 		req->state = CONN_BODY;
-		r = gemini_parse_reply(req, header);
-		buf_drain(&req->bio.rbuf, len);
-		if (r == -1) {
+		if ((code = gemini_parse_reply(req, header)) == -1) {
 			close_with_err(req, "Malformed gemini reply");
 			return;
 		}
-		if (r < 20 || r >= 30) {
+		if (code < 20 || code >= 30) {
 			close_conn(0, 0, req);
 			return;
 		}
 
+		buf_drain(&req->bio.rbuf, len);
+
 		/* pause until we've been told to go ahead */
 		ev_del(req->fd);
 		return;