Mail Archives: djgpp-workers/2001/02/11/15:12:41
According to Eli Zaretskii:
> > Well, I'm having a troubles looking at what flags are set. But if you
> > try the test program in test/libc/ansi/stdio/append.c with and without
> > this part you'll see the difference.
>
> Ah, I see why. The test program prints a very short string and then
> closes the file. So the entire text is buffered inside the FILE
> object when fclose is called, and it is up to fclose to flush it.
> fclose calls fflush, but fflush doesn't go through _fslbuf, it calls
> _write directly. (I don't remember why, but it probably has a good
> reason.)
>
> Solution: add llseek to fflush, and you solved two problems: no need
> for llseek in _doprnt, and a bug with writing the last portion of the
> data from fflush is also squashed ;-)
Ok. I found the bug. Now it works without changing fflush(). Should
that part still be added you think?
Right,
MartinS
- Raw text -