[libmicrohttpd] {Spam?} sizeof(size_t)==4 on 32-bit systems and position
From:
alexantimonov
Subject:
[libmicrohttpd] {Spam?} sizeof(size_t)==4 on 32-bit systems and position in the datastream
Date:
Thu, 05 Feb 2009 17:23:24 +0300
On 32-bit systems size_t often defined as unsigned int, sizeof(size_t) == 4.
So, on such systems there is no posibility to set content size more than
4Gb in the MHD_create_response_from_callback() (in size arg) and
to set datastream position more than 4Gb in MHD_ContentReaderCallback()
(in pos arg).
This is preventing MHD to serve large files such as
DVD images, which can be 4.7 Gb in size, or some huge video file
(what in the "age of HD video" is not so uncommon).
I propose to change the definition of the "size" and "pos" to some explicite 64-bit type,
e.g. uint64_t from stdint.h or something similar. Surely, all other logic in
the MDH's internals, related to this definitions, should support this new 64-bit type.
Thank you.