Re: Implementing cairo_read_func_t/cairo_write_func_t properly

Behdad Esfahbod <[email protected]>
Newsgroups gmane.comp.lib.cairo
Message-ID <[email protected]>
On 16-01-01 09:32 AM, Bernhard Fischer wrote:
> On Thursday 31 December 2015 09:54:39 Lawrence D'Oliveiro wrote:
>> > On Wed, 30 Dec 2015 15:27:13 +0100, Bernhard Fischer wrote:
>>> > > when I would return STATUS_READ_ERROR, then the calling function
>>> > > cannot detect how many bytes then actually have been read except in
>>> > > the case that I read 1 byte after the other.
>> > 
>> > Does it matter? In any case, the file is clearly corrupted and the
>> > image decoding has failed.
>> > 
>> > At least, that is my conclusion...
> 
> Yes, it matters!
> cairo_..._stream() are stream reading functions. This is that it does not know 
> in advance how many bytes are available in the file.
> 
> The read_func_t is called with a buffer of a programmer-chosen length (from 
> within cairo_..._stream()), e.g. 10k. But if the file has just 9k, obviously 
> only 9k are read. Unfortunately, the programmer has no way to find that out.

I agree this could be designed better...
-- 
cairo mailing list
[email protected]
http://lists.cairographics.org/mailman/listinfo/cairo
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.