aboutsummaryrefslogtreecommitdiffstats
path: root/awklib/eg/prog/alarm.awk
diff options
context:
space:
mode:
Diffstat (limited to 'awklib/eg/prog/alarm.awk')
-rw-r--r--awklib/eg/prog/alarm.awk28
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