X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fao_stdio.c;h=6e1f5effde50409d1f89967381a9d5054ce8a05a;hb=2f9be009ef26e3d7539f5932d267d7a8a7bcb7eb;hp=7bc416e1cf2a35ccce874033f61bf583e2f93830;hpb=7db9d86178ecfd58cc1c17ac9fcbdcfd2f13aaec;p=fw%2Faltos diff --git a/src/ao_stdio.c b/src/ao_stdio.c index 7bc416e1..6e1f5eff 100644 --- a/src/ao_stdio.c +++ b/src/ao_stdio.c @@ -38,13 +38,14 @@ putchar(char c) void flush(void) { - stdios[ao_cur_stdio].flush(); + if (stdios[ao_cur_stdio].flush) + stdios[ao_cur_stdio].flush(); } __xdata uint8_t ao_stdin_ready; char -getchar(void) __reentrant +getchar(void) __reentrant __critical { char c; int8_t stdio = ao_cur_stdio; @@ -65,7 +66,7 @@ getchar(void) __reentrant void ao_add_stdio(char (*pollchar)(void), void (*putchar)(char), - void (*flush)(void)) + void (*flush)(void)) __reentrant { if (ao_num_stdios == AO_NUM_STDIOS) ao_panic(AO_PANIC_STDIO);