aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWarner Losh <imp@FreeBSD.org>2021-07-20 04:47:30 +0000
committerWarner Losh <imp@FreeBSD.org>2021-07-30 23:02:13 +0000
commitf4ed53c6f5254edcc28c34cbe67d698bd93cb05e (patch)
tree305535a6d31eb5fe9ae0a1f2003d583bbe48faa2
parent5193261c3631cca7accbff77d66cd38572d491b6 (diff)
downloadsrc-f4ed53c6f5254edcc28c34cbe67d698bd93cb05e.tar.gz
src-f4ed53c6f5254edcc28c34cbe67d698bd93cb05e.zip
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: 241441 Upstream issue: https://github.com/onetrueawk/awk/issues/127 Upstream pull request: https://github.com/onetrueawk/awk/pull/128 MFC After: 2 weeks Sponsored by: Netflix (cherry picked from commit a2e3e1187309f9404940b61ca49a93bd0536559d)
-rw-r--r--contrib/one-true-awk/main.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/contrib/one-true-awk/main.c b/contrib/one-true-awk/main.c
index f3936341ae75..4e68bfb46d27 100644
--- a/contrib/one-true-awk/main.c
+++ b/contrib/one-true-awk/main.c
@@ -91,9 +91,7 @@ setfs(char *p)
/* 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 @@ int main(int argc, char *argv[])
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");