From 817d2888d7f38dec4e8549def19bd2274ad1f9e7 Mon Sep 17 00:00:00 2001 From: Nick White Date: Thu, 1 Sep 2011 20:21:20 +0100 Subject: Fix cookie saving, update TODO --- util.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'util.c') diff --git a/util.c b/util.c index 759e25b..6cc0075 100644 --- a/util.c +++ b/util.c @@ -72,9 +72,13 @@ int get(char *host, char *path, char *sendcookie, char *savecookie, char **buf) while((res = recv(fd, t, BUFSIZ, 0)) > 0) { if(sscanf(t, "HTTP/%d.%d %d", &i, &i, &p) == 3 && p != 200) return 0; - if(savecookie != NULL && - (t2 = strstr(t, "Set-Cookie: ")) != NULL && sscanf(t2, m, c)) - strncat(savecookie, c, COOKIEMAX); + t2 = t; + if(savecookie != NULL) { + while((t2 = strstr(t2, "Set-Cookie: ")) && sscanf(t2, m, c)) { + strncat(savecookie, c, COOKIEMAX); + t2++; + } + } if((t2 = strstr(t, "\r\n\r\n")) != NULL && (t2 - t) < (signed)res) { t2+=4; l = res - (t2 - t); -- cgit v1.2.3