This commit is contained in:
ozan yigit 2021-07-25 14:37:03 -04:00
parent 3913329120
commit aa8731ea81
4 changed files with 22 additions and 5 deletions

13
FIXES
View File

@ -25,6 +25,19 @@ THIS SOFTWARE.
This file lists all bug fixes, changes, etc., made since the AWK book This file lists all bug fixes, changes, etc., made since the AWK book
was sent to the printers in August, 1987. was sent to the printers in August, 1987.
July 24, 2021:
Fix readrec's definition of a record. This fixes an issue
with NetBSD's RS regular expression support that can cause
an infinite read loop. Thanks to Miguel Pineiro Jr.
Fix regular expression RS ^-anchoring. RS ^-anchoring needs to
know if it is reading the first record of a file. This change
restores a missing line that was overlooked when porting NetBSD's
RS regex functionality. Thanks to Miguel Pineiro Jr.
Fix size computation in replace_repeat() for special case
REPEAT_WITH_Q. Thanks to Todd C. Miller.
February 15, 2021: February 15, 2021:
Small fix so that awk will compile again with g++. Thanks to Small fix so that awk will compile again with g++. Thanks to
Arnold Robbins. Arnold Robbins.

View File

@ -107,13 +107,17 @@ astonishly slow. If `awk` seems slow, you might try fixing that.
More generally, turning on optimization can significantly improve More generally, turning on optimization can significantly improve
`awk`'s speed, perhaps by 1/3 for highest levels. `awk`'s speed, perhaps by 1/3 for highest levels.
## A Note About Releases
We don't do releases.
## A Note About Maintenance ## A Note About Maintenance
NOTICE! Maintenance of this program is on a ``best effort'' NOTICE! Maintenance of this program is on a ''best effort''
basis. We try to get to issues and pull requests as quickly basis. We try to get to issues and pull requests as quickly
as we can. Unfortunately, however, keeping this program going as we can. Unfortunately, however, keeping this program going
is not at the top of our priority list. is not at the top of our priority list.
#### Last Updated #### Last Updated
Fri Dec 25 16:53:34 EST 2020 Sat Jul 25 14:00:07 EDT 2021

4
lib.c
View File

@ -242,7 +242,7 @@ int readrec(char **pbuf, int *pbufsize, FILE *inf, bool newflag) /* read one rec
} }
if (found) if (found)
setptr(patbeg, '\0'); setptr(patbeg, '\0');
isrec = (found == 0 && *buf == '\0') ? 0 : 1; isrec = (found == 0 && *buf == '\0') ? false : true;
} else { } else {
if ((sep = *rs) == 0) { if ((sep = *rs) == 0) {
sep = '\n'; sep = '\n';
@ -272,7 +272,7 @@ int readrec(char **pbuf, int *pbufsize, FILE *inf, bool newflag) /* read one rec
if (!adjbuf(&buf, &bufsize, 1+rr-buf, recsize, &rr, "readrec 3")) if (!adjbuf(&buf, &bufsize, 1+rr-buf, recsize, &rr, "readrec 3"))
FATAL("input record `%.30s...' too long", buf); FATAL("input record `%.30s...' too long", buf);
*rr = 0; *rr = 0;
isrec = (c == EOF && rr == buf) ? 0 : 1; isrec = (c == EOF && rr == buf) ? false : true;
} }
*pbuf = buf; *pbuf = buf;
*pbufsize = bufsize; *pbufsize = bufsize;

2
main.c
View File

@ -22,7 +22,7 @@ ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
THIS SOFTWARE. THIS SOFTWARE.
****************************************************************/ ****************************************************************/
const char *version = "version 20210215"; const char *version = "version 20210724";
#define DEBUG #define DEBUG
#include <stdio.h> #include <stdio.h>