diff options
author | Po-Chuan Hsieh <sunpoet@sunpoet.net> | 2019-03-30 19:11:57 +0000 |
---|---|---|
committer | Daniel Gustafsson <daniel@yesql.se> | 2019-04-20 22:46:21 +0200 |
commit | 060f870b85a6ee85668caeb791935fe98f4da56d (patch) | |
tree | 33b415746b521af99f3b7433e412ba873b74b358 /lib/cookie.c | |
parent | e04e974aed6b1187ec3bc7a6552a3d86cd4611cf (diff) | |
download | curl-060f870b85a6ee85668caeb791935fe98f4da56d.tar.gz |
altsvc: Fix building with cookies disables
ALTSVC requires Curl_get_line which is defined in lib/cookie.c inside a #if
check of HTTP and COOKIES. That makes Curl_get_line undefined if COOKIES is
disabled. Fix by splitting out the function into a separate file which can
be included where needed.
Closes #3717
Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
Reviewed-by: Marcel Raad <Marcel.Raad@teamviewer.com>
Diffstat (limited to 'lib/cookie.c')
-rw-r--r-- | lib/cookie.c | 28 |
1 files changed, 1 insertions, 27 deletions
diff --git a/lib/cookie.c b/lib/cookie.c index 44851a52f..d26fd03f7 100644 --- a/lib/cookie.c +++ b/lib/cookie.c @@ -93,6 +93,7 @@ Example set of cookies: #include "share.h" #include "strtoofft.h" #include "strcase.h" +#include "curl_get_line.h" #include "curl_memrchr.h" #include "inet_pton.h" @@ -1085,33 +1086,6 @@ Curl_cookie_add(struct Curl_easy *data, return co; } -/* - * get_line() makes sure to only return complete whole lines that fit in 'len' - * bytes and end with a newline. - */ -char *Curl_get_line(char *buf, int len, FILE *input) -{ - bool partial = FALSE; - while(1) { - char *b = fgets(buf, len, input); - if(b) { - size_t rlen = strlen(b); - if(rlen && (b[rlen-1] == '\n')) { - if(partial) { - partial = FALSE; - continue; - } - return b; - } - /* read a partial, discard the next piece that ends with newline */ - partial = TRUE; - } - else - break; - } - return NULL; -} - /***************************************************************************** * |