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;
--
⑨