Date: Wed, 17 May 2000 03:52:43 +0900 (JST) From: Hajimu UMEMOTO (=?ISO-2022-JP?B?GyRCR19LXBsoQiA=?= =?ISO-2022-JP?B?GyRCSCUbKEI=?=) <ume@mahoroba.org> To: des@flood.ping.uio.no Cc: arch@freebsd.org Subject: Re: fetch(1) Message-ID: <200005161852.e4GIqhF74521@peace.mahoroba.org> In-Reply-To: <xzpog68i71b.fsf@flood.ping.uio.no> References: <xzpbt2djcj4.fsf@flood.ping.uio.no> <200005122016.e4CKGtF38185@peace.mahoroba.org> <xzpog68i71b.fsf@flood.ping.uio.no>
next in thread | previous in thread | raw e-mail | index | archive | help
>>>>> On 15 May 2000 09:53:04 +0200 >>>>> Dag-Erling Smorgrav <des@flood.ping.uio.no> said: > Your fetch(1) doesn't handle content size correctly on some case. If > HTTP server doesn't reply Content-Length:, fetchStat() > (fetchStatHTTP()) doesn't return -1 and doesn't touch us.size. Then, > the value of us.size stays unknown. des> That's a bug in fetchStatHTTP(), thanks for pointing it out. You are welcome. There is one more problem. If us.size is -1 with HTTP, gotten file is shorten than original one. This change seems to fix it. Index: http.c =================================================================== RCS file: /home/ncvs/src/lib/libfetch/http.c,v retrieving revision 1.18 diff -u -r1.18 http.c --- http.c 2000/05/15 09:05:36 1.18 +++ http.c 2000/05/16 18:53:46 @@ -135,6 +135,8 @@ } else if (c->encoding == ENC_CHUNKED) { if (c->chunksize == 0) { ln = fgetln(c->real_f, &len); + if (len <= 2) + return NULL; DEBUG(fprintf(stderr, "\033[1m_http_fillbuf(): new chunk: " "%*.*s\033[m\n", (int)len-2, (int)len-2, ln)); sscanf(ln, "%x", &(c->chunksize)); -- Hajimu UMEMOTO @ Internet Mutual Aid Society Yokohama, Japan ume@mahoroba.org ume@bisd.hitachi.co.jp ume@FreeBSD.org http://www.imasy.org/~ume/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200005161852.e4GIqhF74521>