summaryrefslogtreecommitdiffstats
path: root/contrib/one-true-awk/main.c
diff options
context:
space:
mode:
authorru <ru@FreeBSD.org>2011-08-09 12:54:43 +0000
committerru <ru@FreeBSD.org>2011-08-09 12:54:43 +0000
commitd218e8cbbc531ecda2621a877543e58d0b03fe6c (patch)
tree079bb7a8384dfb47f51838c84776481fb07cf770 /contrib/one-true-awk/main.c
parent95c58b7fb18fe9d1c2f2cfcb59238e78388050f6 (diff)
downloadFreeBSD-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.c20
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]);
OpenPOWER on IntegriCloud