mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-01-31 19:43:32 +00:00
9c6d78c26d
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 |
||
---|---|---|
.. | ||
atoi_test.c | ||
basename_test.c | ||
dirname_test.c | ||
encodenf32_test.c | ||
fmt_test.c | ||
formatbinary64_test.c | ||
formatflex64_test.c | ||
formathex64_test.c | ||
formatint64_test.c | ||
formatint64thousands_test.c | ||
formatoctal32_test.c | ||
formatoctal64_test.c | ||
fprintf_test.c | ||
imaxdiv_test.c | ||
itoa64radix16_test.c | ||
joinpaths_test.c | ||
lengthuint64_test.c | ||
palandprintf_test.c | ||
printf_uppercase_e_static_yoink_test.c | ||
printf_uppercase_f_static_yoink_test.c | ||
printf_uppercase_g_static_yoink_test.c | ||
sizetol_test.c | ||
sleb128_test.c | ||
sprintf_s.inc | ||
sprintf_s_test.c | ||
sscanf_test.c | ||
strerror_r_test.c | ||
stripexts_test.c | ||
test.mk | ||
timevaltofiletime_test.c | ||
uleb64_test.c | ||
uleb128_test.c | ||
zleb64_test.c |