shithub: trueawk

Download patch

ref: 92aee59e6d4a1f052f2bede3f0c8b8e7440512a3
parent: 5e49ea4d1f71d9134734011f2151cae4dbec5e5f
author: ozan yigit <ozan.yigit@gmail.com>
date: Thu Sep 7 20:16:59 EDT 2023

FS is not set properly when assigned on the command line.
see PR#163 for miguel's detailed discussion about savefs().

--- a/lib.c
+++ b/lib.c
@@ -150,11 +150,6 @@
 	}
 	DPRINTF("RS=<%s>, FS=<%s>, ARGC=%g, FILENAME=%s\n",
 		*RS, *FS, *ARGC, *FILENAME);
-	if (isrecord) {
-		donefld = false;
-		donerec = true;
-		savefs();
-	}
 	saveb0 = buf[0];
 	buf[0] = 0;
 	while (argno < *ARGC || infile == stdin) {
@@ -194,6 +189,9 @@
 					fldtab[0]->fval = result;
 					fldtab[0]->tval |= NUM;
 				}
+				donefld = false;
+				donerec = true;
+				savefs();
 			}
 			setfval(nrloc, nrloc->fval+1);
 			setfval(fnrloc, fnrloc->fval+1);
--