From 45dab2a7e08ac950c8838e1b01f8d8439e2f0f7c Mon Sep 17 00:00:00 2001 From: Warner Losh Date: Mon, 19 Jul 2021 22:47:30 -0600 Subject: [PATCH] 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 --- main.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/main.c b/main.c index f393634..4e68bfb 100644 --- a/main.c +++ b/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");