summaryrefslogtreecommitdiff
path: root/csim/sim.c
diff options
context:
space:
mode:
Diffstat (limited to 'csim/sim.c')
-rw-r--r--csim/sim.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/csim/sim.c b/csim/sim.c
index f91ac75..1dd2791 100644
--- a/csim/sim.c
+++ b/csim/sim.c
@@ -61,6 +61,7 @@ void machine_banner(t_machine *m, FILE *stream) {
m->prog->vars[m->prog->inputs[i]].name);
}
fprintf(stream, "\n");
+ fflush(stream);
}
void read_inputs(t_machine *m, FILE *stream) {
@@ -80,6 +81,8 @@ void read_inputs(t_machine *m, FILE *stream) {
fscanf(stream, " ");
if (fscanf(stream, "/%lu", &(m->var_values[var]))) {
// ok, value is read
+ } else if (fscanf(stream, "x%lx", &(m->var_values[var]))) {
+ // ok, value is read
} else {
m->var_values[var] = read_bool(stream, NULL);
}
@@ -223,6 +226,7 @@ void write_outputs(t_machine *m, FILE *stream) {
fprintf(stream, "\t%ld\n", m->var_values[var]);
}
fprintf(stream, "\n");
+ fflush(stream);
}