ref: b84620a7b5c89e84ec76821ba3fd31d70b29ee7b
parent: ad444edf7b9d72d9c1025764cb76079b6cc84661
author: Arnold D. Robbins <arnold@skeeve.com>
date: Thu Nov 23 14:20:45 EST 2023
Fix issue #147. Update FIXES and main.c version.
--- a/FIXES
+++ b/FIXES
@@ -25,13 +25,19 @@
This file lists all bug fixes, changes, etc., made since the
second edition of the AWK book was published in September 2023.
-Nov 20, 2023
+Nov 23, 2023:
+ Fix Issue #169, related to escape sequences in strings.
+ Thanks to Github user rajeevvp.
+ Fix Issue #147, reported by Github user drawkula, and fixed
+ by Miguel Pineiro Jr.
+
+Nov 20, 2023:
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.
-Nov 15, 2023
+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.
@@ -44,7 +50,6 @@
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
--- a/main.c
+++ b/main.c
@@ -22,7 +22,7 @@
THIS SOFTWARE.
****************************************************************/
-const char *version = "version 20231120";
+const char *version = "version 20231123";
#define DEBUG
#include <stdio.h>
--- a/run.c
+++ b/run.c
@@ -1540,8 +1540,9 @@
if (x == y && !(x->tval & (FLD|REC)) && x != nfloc)
; /* self-assignment: leave alone unless it's a field or NF */
else if ((y->tval & (STR|NUM)) == (STR|NUM)) {+ yf = getfval(y);
setsval(x, getsval(y));
- x->fval = getfval(y);
+ x->fval = yf;
x->tval |= NUM;
}
else if (isstr(y))
--
⑨