cosmopolitan/test
Gabriel Ravier 9c6d78c26d
Fix vfprintf and derived functions not handling write errors (#798)
The C standard states:
> The fprintf function returns the number of characters transmitted,
> or a negative value if an output or encoding error occurred or if
> the implementation does not support a specified width length
> modifier.
- C Standard, 7.23.6.1.15. The fprintf function

However, cosmopolitan fails to return a negative value in the case of
an output error, meaning that a program such as:

 #include <stdio.h>

int main()
{
    FILE *fp = fopen("/dev/full", "w");

    setbuf(fp, NULL);
    printf("fprintf: %d\n", fprintf(fp, "test\n"));
    printf("fflush: %d\n", fflush(fp));
}

will, under cosmopolitan, print that no error occured in either of the
calls to fprintf and fflush.

This patch fixes this, along with the associated GitHub issue,
https://github.com/jart/cosmopolitan/issues/784
2023-03-31 09:57:29 -04:00
..
dsp Rename hidden keyword to _Hide 2022-11-08 12:55:28 -08:00
libc Fix vfprintf and derived functions not handling write errors (#798) 2023-03-31 09:57:29 -04:00
net Allow HTTP range past EOF 2022-11-07 05:52:24 -08:00
tool Update tests and CPU detection for Blink 2023-01-18 00:56:09 -08:00
test.mk Support malloc() on bare metal 2021-02-24 00:53:24 -08:00