diff options
author | ru <ru@FreeBSD.org> | 2011-08-09 12:54:43 +0000 |
---|---|---|
committer | ru <ru@FreeBSD.org> | 2011-08-09 12:54:43 +0000 |
commit | d218e8cbbc531ecda2621a877543e58d0b03fe6c (patch) | |
tree | 079bb7a8384dfb47f51838c84776481fb07cf770 /contrib/one-true-awk/main.c | |
parent | 95c58b7fb18fe9d1c2f2cfcb59238e78388050f6 (diff) | |
download | FreeBSD-src-d218e8cbbc531ecda2621a877543e58d0b03fe6c.zip FreeBSD-src-d218e8cbbc531ecda2621a877543e58d0b03fe6c.tar.gz |
Update to a 7-Aug-2011 release.
Approved by: re (kib)
Diffstat (limited to 'contrib/one-true-awk/main.c')
-rw-r--r-- | contrib/one-true-awk/main.c | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/contrib/one-true-awk/main.c b/contrib/one-true-awk/main.c index b40a39d..61063b1 100644 --- a/contrib/one-true-awk/main.c +++ b/contrib/one-true-awk/main.c @@ -25,7 +25,7 @@ THIS SOFTWARE. #include <sys/cdefs.h> __FBSDID("$FreeBSD$"); -const char *version = "version 20110506 (FreeBSD)"; +const char *version = "version 20110807 (FreeBSD)"; #define DEBUG #include <stdio.h> @@ -125,10 +125,20 @@ int main(int argc, char *argv[]) WARNING("field separator FS is empty"); break; case 'v': /* -v a=1 to be done NOW. one -v for each */ - if (argv[1][2] == '\0' && --argc > 1 && isclvar((++argv)[1])) - setclvar(argv[1]); - else if (argv[1][2] != '\0') - setclvar(&argv[1][2]); + if (argv[1][2] != 0) { /* arg is -vsomething */ + if (isclvar(&argv[1][2])) + setclvar(&argv[1][2]); + else + FATAL("invalid -v option argument: %s", &argv[1][2]); + } else { /* arg is -v something */ + argc--; argv++; + if (argc <= 1) + FATAL("no variable name"); + if (isclvar(argv[1])) + setclvar(argv[1]); + else + FATAL("invalid -v option argument: %s", argv[1]); + } break; case 'd': dbg = atoi(&argv[1][2]); |