From 69adeece9d16ffe0c1135f64dc5bcbb05393ca9a Mon Sep 17 00:00:00 2001 From: Mike Smith Date: Thu, 16 Jan 1997 00:58:10 +0000 Subject: [PATCH] Oops, forgot this one. --- lang/bwbasic/files/patch-ab | 44 +++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 lang/bwbasic/files/patch-ab diff --git a/lang/bwbasic/files/patch-ab b/lang/bwbasic/files/patch-ab new file mode 100644 index 000000000000..79d0219b66a7 --- /dev/null +++ b/lang/bwbasic/files/patch-ab @@ -0,0 +1,44 @@ +--- ../../foo/bwbasic-2.20/bwb_dio.c Sun Nov 26 09:02:18 1995 ++++ bwb_dio.c Thu Jan 16 11:10:58 1997 +@@ -90,7 +90,6 @@ + { + FILE *fp; + struct exp_ese *e; +- int previous_buffer; + char atbuf[ MAXSTRINGSIZE + 1 ]; + char first[ MAXSTRINGSIZE + 1 ]; + char devname[ MAXSTRINGSIZE + 1 ]; +@@ -98,7 +97,6 @@ + /* initialize */ + + mode = req_devnumber = rlen = -1; +- previous_buffer = FALSE; + + /* get the first expression element up to comma or whitespace */ + +@@ -435,7 +433,15 @@ + sprintf( bwb_ebuf, "in bwb_open(): using previously closed file (and buffer)" ); + bwb_debug( bwb_ebuf ); + #endif +- previous_buffer = TRUE; ++ /* ++ * Previous code assumed that buffer was always valid, and ++ * always the right size. (MJS) ++ */ ++ if (dev_table[ req_devnumber ].buffer != NULL) ++ { ++ free (dev_table[ req_devnumber ].buffer); ++ dev_table[ req_devnumber ].buffer = NULL; ++ } + } + + if ( ( dev_table[ req_devnumber ].mode != DEVMODE_CLOSED ) && +@@ -512,7 +518,7 @@ + + /* allocate a character buffer for random access */ + +- if (( mode == DEVMODE_RANDOM ) && ( previous_buffer != TRUE )) ++ if ( mode == DEVMODE_RANDOM ) + { + /* Revised to CALLOC pass-thru call by JBV */ + if ( ( dev_table[ req_devnumber ].buffer = CALLOC( rlen + 1, 1, "bwb_open" )) == NULL )