Code

http-backend: Fix bad treatment of uintmax_t in Content-Length
authorShawn O. Pearce <spearce@spearce.org>
Thu, 12 Nov 2009 04:42:41 +0000 (20:42 -0800)
committerJunio C Hamano <gitster@pobox.com>
Fri, 13 Nov 2009 22:40:05 +0000 (14:40 -0800)
commit4a5328d644b67be7fae1ff360e142d5dee4e63e9
treee975ef19ce33153b165a5e0e9a41612f3443f82f
parent203666352f36702a8773ab47f67ef467528245ae
http-backend: Fix bad treatment of uintmax_t in Content-Length

Our Content-Length needs to report an off_t, which could be larger
precision than size_t on this system (e.g. 32 bit binary built with
64 bit large file support).

We also shouldn't be passing a size_t parameter to printf when
we've used PRIuMAX as the format specifier.

Fix both issues by using uintmax_t for the hdr_int() routine,
allowing strbuf's size_t to automatically upcast, and off_t to
always fit.

Also fixed the copy loop we use inside of send_local_file(), we never
actually updated the size variable so we might as well not use it.

Reported-by: Tarmigan <tarmigan+git@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
http-backend.c