From 915255dca4b5616c82185bbdb29dc042a0c38f87 Mon Sep 17 00:00:00 2001 From: deuce <> Date: Tue, 6 Sep 2005 21:08:53 +0000 Subject: [PATCH] FREAD/FWRITE cannot have a literal zero as the third arg. --- src/sbbs3/unbaja.c | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/sbbs3/unbaja.c b/src/sbbs3/unbaja.c index 0874bd1ac9..1e4bb3c18e 100644 --- a/src/sbbs3/unbaja.c +++ b/src/sbbs3/unbaja.c @@ -627,6 +627,21 @@ void eol(FILE *src) eol(src); \ break +#define MVARVARNZUST(name) WRITE_NAME(name); \ + write_var(bin,src); \ + write_var(bin,src); \ + if(usevar) { \ + fprintf(src,"%s ",getvar(var)); \ + usevar=FALSE; \ + fread(buf,2,1,bin); \ + } else { \ + fread(&ush, 2, 1, bin); \ + if(ush) \ + fprintf(src,"%u ",ush); \ + } \ + eol(src); \ + break + #define MVARVARUST(name) WRITE_NAME(name); \ write_var(bin,src); \ write_var(bin,src); \ @@ -1852,11 +1867,11 @@ void decompile(FILE *bin, FILE *src) case FIO_CLOSE: VAR("FCLOSE"); case FIO_READ: - VARVARUST("FREAD"); + MVARVARNZUST("FREAD"); case FIO_READ_VAR: VARVARVAR("FREAD"); case FIO_WRITE: - VARVARUST("FWRITE"); + MVARVARNZUST("FWRITE"); case FIO_WRITE_VAR: VARVARVAR("FWRITE"); case FIO_GET_LENGTH: -- GitLab