shithub: trueawk

Download patch

ref: 6a07a6d3bb6313714625f667470290e71545b270
parent: ee8484a4a2cb6ac3b263f4da0fe83cabf8683ddb
author: Arnold D. Robbins <arnold@skeeve.com>
date: Mon Feb 5 03:49:22 EST 2024

Fix some typos in b.c; Improve prose in README.md and FIXES.

--- a/FIXES
+++ b/FIXES
@@ -30,14 +30,14 @@
 	Arnold Robbins.
 
 Dec 24, 2023:
-	matchop dereference after free problem fix when the first
-	argument is a function call. thanks to Oguz Ismail Uysal.
+	Matchop dereference after free problem fix when the first
+	argument is a function call. Thanks to Oguz Ismail Uysal.
 	Fix inconsistent handling of --csv and FS set in the
 	command line. Thanks to Wilbert van der Poel.
-	casting changes to int for is* functions. 
+	Casting changes to int for is* functions. 
 
 Nov 27, 2023:
-	Fix exit status of system on MacOS. update to REGRESS.
+	Fix exit status of system on MacOS. Update to REGRESS.
 	Thanks to Arnold Robbins. 
 	Fix inconsistent handling of -F and --csv, and loss of csv
 	mode when FS is set. 
@@ -45,7 +45,7 @@
 Nov 24, 2023:
         Fix issue #199: gototab improvements to dynamically resize the
         table, qsort and bsearch to improve the lookup speed as the
-        table gets larger for multibyte input. thanks to Arnold Robbins.
+        table gets larger for multibyte input. Thanks to Arnold Robbins.
 
 Nov 23, 2023:
 	Fix Issue #169, related to escape sequences in strings.
@@ -54,29 +54,29 @@
 	by Miguel Pineiro Jr.
 
 Nov 20, 2023:
-	rewrite of fnematch to fix a number of issues, including
+	Rewrite of fnematch to fix a number of issues, including
 	extraneous output, out-of-bounds access, number of bytes
 	to push back after a failed match etc.
-	thanks to Miguel Pineiro Jr.
+	Thanks to Miguel Pineiro Jr.
 
 Nov 15, 2023:
-	Man page edit, regression test fixes. thanks to Arnold Robbins
-	consolidation of sub and gsub into dosub, removing duplicate
-	code. thanks to Miguel Pineiro Jr.
+	Man page edit, regression test fixes. Thanks to Arnold Robbins
+	Consolidation of sub and gsub into dosub, removing duplicate
+	code. Thanks to Miguel Pineiro Jr.
 	gcc replaced with cc everywhere.
 
 Oct 30, 2023:
-	multiple fixes and a minor code cleanup.
-	disabled utf-8 for non-multibyte locales, such as C or POSIX.
-	fixed a bad char * cast that causes incorrect results on big-endian
-	systems. also fixed an out-of-bounds read for empty CCL.
-	fixed a buffer overflow in substr with utf-8 strings.
-	many thanks to Todd C Miller.
+	Multiple fixes and a minor code cleanup.
+	Disabled utf-8 for non-multibyte locales, such as C or POSIX.
+	Fixed a bad char * cast that causes incorrect results on big-endian
+	systems. Also fixed an out-of-bounds read for empty CCL.
+	Fixed a buffer overflow in substr with utf-8 strings.
+	Many thanks to Todd C Miller.
 
 Sep 24, 2023:
 	fnematch and getrune have been overhauled to solve issues around
-	unicode FS and RS. also fixed gsub null match issue with unicode.
-	big thanks to Arnold Robbins.
+	unicode FS and RS. Also fixed gsub null match issue with unicode.
+	Big thanks to Arnold Robbins.
 
 Sep 12, 2023:
 	Fixed a length error in u8_byte2char that set RSTART to
@@ -101,9 +101,8 @@
 	of a string of 3 emojis is 3, not 12 as it would be if bytes
 	were counted.
 
-	Regular expressions are processes as UTF-8.
+	Regular expressions are processed as UTF-8.
 
 	Unicode literals can be written as \u followed by one
 	to eight hexadecimal digits.  These may appear in strings and
 	regular expressions.
-
--- a/README.md
+++ b/README.md
@@ -27,6 +27,7 @@
 The option `--csv` turns on CSV processing of input:
 fields are separated by commas, fields may be quoted with
 double-quote (`"`) characters, quoted fields may contain embedded newlines.
+Double-quotes in fields have to be doubled and enclosed in quoted fields.
 In CSV mode, `FS` is ignored.
 
 If no explicit separator argument is provided,
@@ -117,6 +118,8 @@
 
 If your system does not have `yacc` or `bison` (the GNU
 equivalent), you need to install one of them first.
+The default in the `makefile` is `bison`; you will have
+to edit the `makefile` to use `yacc`.
 
 NOTE: This version uses ISO/IEC C99, as you should also.  We have
 compiled this without any changes using `gcc -Wall` and/or local C
@@ -143,4 +146,4 @@
 
 #### Last Updated
 
-Mon 16 Oct 2023 11:23:08 IDT
+Mon 05 Feb 2024 08:46:55 IST
--- a/b.c
+++ b/b.c
@@ -607,11 +607,11 @@
 	size_t orig_size = f->gototab[state].allocated;		// 2nd half of new mem is this size
 	memset(p + orig_size, 0, orig_size * sizeof(gtte));	// clean it out
 
-	f->gototab[state].allocated = new_size;			// update gotottab info
+	f->gototab[state].allocated = new_size;			// update gototab info
 	f->gototab[state].entries = p;
 }
 
-static int get_gototab(fa *f, int state, int ch) /* hide gototab inplementation */
+static int get_gototab(fa *f, int state, int ch) /* hide gototab implementation */
 {
 	gtte key;
 	gtte *item;
@@ -638,7 +638,7 @@
 	return left->ch - right->ch;
 }
 
-static int set_gototab(fa *f, int state, int ch, int val) /* hide gototab inplementation */
+static int set_gototab(fa *f, int state, int ch, int val) /* hide gototab implementation */
 {
 	if (f->gototab[state].inuse == 0) {
 		f->gototab[state].entries[0].ch = ch;
--