From ac1ac2bf71c7fce6a2261460c9e833b244638351 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Thu, 24 Oct 2019 21:29:45 +0200 Subject: [PATCH] core: write_byte: Prepare for M2-Planet. * src/posix.c (write_byte): Prepare for M2-Planet. --- src/posix.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/posix.c b/src/posix.c index 45dbf0aa..be67f70e 100644 --- a/src/posix.c +++ b/src/posix.c @@ -140,10 +140,18 @@ write_byte (SCM x) /*:((arity . n)) */ SCM c = car (x); SCM p = cdr (x); int fd = __stdout; - if (TYPE (p) == TPAIR && TYPE (car (p)) == TNUMBER && VALUE (CAR (p)) != 1) - fd = VALUE (CAR (p)); - if (TYPE (p) == TPAIR && TYPE (car (p)) == TNUMBER && VALUE (CAR (p)) == 2) - fd = __stderr; + if (TYPE (p) == TPAIR) + { + SCM f = CAR (p); + if (TYPE (f) == TNUMBER) + { + long v = VALUE (f); + if (v != 1) + fd = v; + if (v == 2) + fd = __stderr; + } + } char cc = VALUE (c); write (fd, &cc, 1); #if !__MESC__