diff options
Diffstat (limited to 'awklib/eg/prog/alarm.awk')
-rw-r--r-- | awklib/eg/prog/alarm.awk | 28 |
1 files changed, 17 insertions, 11 deletions
diff --git a/awklib/eg/prog/alarm.awk b/awklib/eg/prog/alarm.awk index 52fae393..af7e8af1 100644 --- a/awklib/eg/prog/alarm.awk +++ b/awklib/eg/prog/alarm.awk @@ -1,9 +1,10 @@ # alarm.awk --- set an alarm # -# Requires gettimeofday library function +# Requires gettimeofday() library function # # Arnold Robbins, arnold@skeeve.com, Public Domain # May 1993 +# Revised December 2010 # usage: alarm time [ "message" [ count [ delay ] ] ] @@ -17,19 +18,24 @@ BEGIN \ print usage1 > "/dev/stderr" print usage2 > "/dev/stderr" exit 1 - } else if (ARGC == 5) { + } + switch (ARGC) { + case 5: delay = ARGV[4] + 0 + # fall through + case 4: count = ARGV[3] + 0 + # fall through + case 3: message = ARGV[2] - } else if (ARGC == 4) { - count = ARGV[3] + 0 - message = ARGV[2] - } else if (ARGC == 3) { - message = ARGV[2] - } else if (ARGV[1] !~ /[0-9]?[0-9]:[0-9][0-9]/) { - print usage1 > "/dev/stderr" - print usage2 > "/dev/stderr" - exit 1 + break + default: + if (ARGV[1] !~ /[[:digit:]]?[[:digit:]]:[[:digit:]][[:digit:]]/) { + print usage1 > "/dev/stderr" + print usage2 > "/dev/stderr" + exit 1 + } + break } # set defaults for once we reach the desired time |