summaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authorMike Smith <msmith@FreeBSD.org>1997-01-16 00:58:10 +0000
committerMike Smith <msmith@FreeBSD.org>1997-01-16 00:58:10 +0000
commit69adeece9d16ffe0c1135f64dc5bcbb05393ca9a (patch)
tree5af62e671fb96e21dcd19e4ce79cdbf10aca60db /lang
parentRemove version number from description (diff)
Oops, forgot this one.
Notes
Notes: svn path=/head/; revision=5363
Diffstat (limited to 'lang')
-rw-r--r--lang/bwbasic/files/patch-ab44
1 files changed, 44 insertions, 0 deletions
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 )