1 # Check links in tz tables.
3 # Contributed by Paul Eggert. This file is in the public domain.
6 # Special marker indicating that the name is defined as a Zone.
7 # It is a newline so that it cannot match a valid name.
8 # It is not null so that its slot does not appear unset.
14 if (defined[$2] == Zone) {
15 printf "%s: Zone has duplicate definition\n", $2
17 printf "%s: Link with same name as Zone\n", $2
26 if (defined[$3] == Zone) {
27 printf "%s: Link with same name as Zone\n", $3
28 } else if (defined[$3] == $2) {
29 printf "%s: Link has duplicate definition\n", $3
31 printf "%s: Link to both %s and %s\n", $3, defined[$3], $2
35 if (backcheck && FILENAME != backcheck && $3 != "GMT") {
36 printf "%s: Link should be in '%s'\n", $3, backcheck
48 if (defined[tz] != Zone) {
50 printf "%s: Link to nowhere\n", tz
52 } else if (DATAFORM != "vanguard") {
53 printf "%s: Link to link\n", tz
58 for (tz in shortcut) {
59 if (defined[shortcut[tz]] != defined[tz]) {
60 target = (!defined[tz] ? "absence" \
61 : defined[tz] == "\n" ? "zone" \
63 printf "%s: target %s disagrees with %s's target %s\n", \
64 tz, target, shortcut[tz], defined[shortcut[tz]]