summaryrefslogtreecommitdiffstats
path: root/tis-as.c
diff options
context:
space:
mode:
authorLouis Burda <quent.burda@gmail.com>2023-07-25 05:56:08 +0200
committerLouis Burda <quent.burda@gmail.com>2023-07-25 05:56:08 +0200
commit7d73b738a5703d5263a84dcbe3564e2267af6804 (patch)
treee386ecb7813d86577b9fc5ef5153785de60d6f51 /tis-as.c
parent41760436d528552d64122bb0c837f4d8274a0bdd (diff)
downloadtis100-7d73b738a5703d5263a84dcbe3564e2267af6804.tar.gz
tis100-7d73b738a5703d5263a84dcbe3564e2267af6804.zip
Improve parsing, make stdin / stdout port optional
Diffstat (limited to 'tis-as.c')
-rw-r--r--tis-as.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/tis-as.c b/tis-as.c
index 7b4a640..1a14a64 100644
--- a/tis-as.c
+++ b/tis-as.c
@@ -50,13 +50,14 @@ main(int argc, const char **argv)
tis.stdin_port.out = -1;
idle = false;
- while (!idle || !prev_idle || tis.stdin_port.reading && !feof(tis_stdin)) {
- if (tis.stdin_port.out < 0) {
+ while (!idle || !prev_idle || tis.stdin_port.attached
+ && tis.stdin_port.reading && !feof(tis_stdin)) {
+ if (tis.stdin_port.attached && tis.stdin_port.out < 0) {
c = getc(tis_stdin);
if (c >= 0) tis.stdin_port.out = c;
}
- if (tis.stdout_port.in >= 0) {
+ if (tis.stdout_port.attached && tis.stdout_port.in >= 0) {
putc(tis.stdout_port.in, tis_stdout);
tis.stdout_port.in = -1;
}