pike.git / lib / modules / Calendar.pmod / tzdata / checklinks.awk

version» Context lines:

pike.git/lib/modules/Calendar.pmod/tzdata/checklinks.awk:1:   # Check links in tz tables.      # Contributed by Paul Eggert.    - /^Link/ { used[$2] = 1 } - /^Zone/ { defined[$2] = 1 } + BEGIN { +  # Special marker indicating that the name is defined as a Zone. +  # It is a newline so that it cannot match a valid name. +  # It is not null so that its slot does not appear unset. +  Zone = "\n" + }    - END { -  status = 0 + /^Zone/ { +  if (defined[$2]) { +  if (defined[$2] == Zone) { +  printf "%s: Zone has duplicate definition\n", $2 +  } else { +  printf "%s: Link with same name as Zone\n", $2 +  } +  status = 1 +  } +  defined[$2] = Zone + }    -  + /^Link/ { +  if (defined[$3]) { +  if (defined[$3] == Zone) { +  printf "%s: Link with same name as Zone\n", $3 +  } else if (defined[$3] == $2) { +  printf "%s: Link has duplicate definition\n", $3 +  } else { +  printf "%s: Link to both %s and %s\n", $3, defined[$3], $2 +  } +  status = 1 +  } +  used[$2] = 1 +  defined[$3] = $2 + } +  + END {    for (tz in used) { -  if (!defined[tz]) { +  if (defined[tz] != Zone) {    printf "%s: Link to non-zone\n", tz    status = 1    }    }       exit status   }