diff options
Diffstat (limited to 'timezone/checktab.awk')
-rw-r--r-- | timezone/checktab.awk | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/timezone/checktab.awk b/timezone/checktab.awk index fec4f62..d78ba73 100644 --- a/timezone/checktab.awk +++ b/timezone/checktab.awk @@ -115,10 +115,14 @@ BEGIN { FS = " " } +$1 ~ /^#/ { next } + { - tz = "" - if ($1 == "Zone") tz = $2 - if ($1 == "Link") { + tz = rules = "" + if ($1 == "Zone") { + tz = $2 + ruleUsed[$4] = 1 + } else if ($1 == "Link") { # Ignore Link commands if source and destination basenames # are identical, e.g. Europe/Istanbul versus Asia/Istanbul. src = $2 @@ -126,6 +130,10 @@ BEGIN { while ((i = index(src, "/"))) src = substr(src, i+1) while ((i = index(dst, "/"))) dst = substr(dst, i+1) if (src != dst) tz = $3 + } else if ($1 == "Rule") { + ruleDefined[$2] = 1 + } else { + ruleUsed[$2] = 1 } if (tz && tz ~ /\//) { if (!tztab[tz]) { @@ -138,6 +146,12 @@ BEGIN { } END { + for (tz in ruleDefined) { + if (!ruleUsed[tz]) { + printf "%s: Rule never used\n", tz + status = 1 + } + } for (tz in tz2cc) { if (!zoneSeen[tz]) { printf "%s:%d: no Zone table for `%s'\n", \ |