shithub: trueawk

Download patch

ref: 45dab2a7e08ac950c8838e1b01f8d8439e2f0f7c
parent: c0f4e97e4561ff42544e92512bbaf3d7d1f6a671
author: Warner Losh <imp@FreeBSD.org>
date: Mon Jul 19 18:47:30 EDT 2021

awk: Make -F '' and -v FS="" behave the same

IEEE Std 1003.1-2008 mandates that -F str be treated the same as -v
FS=str. For a null string, this was not the case. Since awk(1) documents
that a null string for FS has a specific behavior, make -F '' behave
consistently with -v FS="".

PR:
upstream issue:		https://github.com/onetrueawk/awk/issues/127
Sponsored by:		Netflix

--- a/main.c
+++ b/main.c
@@ -91,9 +91,7 @@
 	/* wart: t=>\t */
 	if (p[0] == 't' && p[1] == '\0')
 		return "\t";
-	else if (p[0] != '\0')
-		return p;
-	return NULL;
+	return p;
 }
 
 static char *
@@ -169,8 +167,6 @@
  			break;
 		case 'F':	/* set field separator */
 			fs = setfs(getarg(&argc, &argv, "no field separator"));
-			if (fs == NULL)
-				WARNING("field separator FS is empty");
 			break;
 		case 'v':	/* -v a=1 to be done NOW.  one -v for each */
 			vn = getarg(&argc, &argv, "no variable name");
--