From d7333e4479706a87ce550ff34673f2c3295e19f0 Mon Sep 17 00:00:00 2001 From: Adam Sampson Date: Wed, 12 Mar 2008 14:48:27 +0000 Subject: [PATCH] Implement FLUSH in the output handlers. --- support/tock_support_cif.h | 6 +++++- testcases/capitalise.occ | 3 +++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/support/tock_support_cif.h b/support/tock_support_cif.h index aa96449..87fb06c 100644 --- a/support/tock_support_cif.h +++ b/support/tock_support_cif.h @@ -91,7 +91,11 @@ static void tock_tlp_output (Workspace wptr) { case 0: { uint8_t ch; ChanIn (wptr, in, &ch, sizeof ch); - ExternalCallN (fputc, 2, ch, out); + if (ch == 255) { // FLUSH + fflush (out); + } else { + ExternalCallN (fputc, 2, ch, out); + } break; } diff --git a/testcases/capitalise.occ b/testcases/capitalise.occ index f1b78bc..b4b6b36 100644 --- a/testcases/capitalise.occ +++ b/testcases/capitalise.occ @@ -1,3 +1,5 @@ +#USE "course" + PROC main (CHAN OF BYTE in, out) BOOL running: SEQ @@ -13,4 +15,5 @@ PROC main (CHAN OF BYTE in, out) out ! b - ('a' - 'A') TRUE out ! b + out ! FLUSH :