check-changes revision bf8267aa453e5d2a735ed732a043b77a0b355b20
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#!/usr/bin/perl
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews#
75c0816e8295e180f4bc7f10db3d0d880383bc1cMark Andrews# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Copyright (C) 2002 Internet Software Consortium.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Permission to use, copy, modify, and/or distribute this software for any
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# purpose with or without fee is hereby granted, provided that the above
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# copyright notice and this permission notice appear in all copies.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# PERFORMANCE OF THIS SOFTWARE.
f051d76c87e055c6ea3879e0c97a76609df915ccMark Andrews
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# $Id$
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeineval 'exec /usr/bin/perl -S $0 ${1+"$@"}'
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein if $running_under_some_shell;
cedb0bd0c1e3c461b7e479a16d3adfd5b150f1f4Mark Andrews # this emulates #! processing on NIH machines.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein # (remove #! line above if indigestible)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeineval '$'.$1.'$2;' while $ARGV[0] =~ /^([A-Za-z_0-9]+=)(.*)/ && shift;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein # process any FOO=bar switches
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein$, = ' '; # set output field separator
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein$\ = "\n"; # set output record separator
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein$change = 0;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein$status = 0;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinline: while (<>) {
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein ($Fld1,$Fld2) = split(' ', $_, 9999);
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein if ($Fld1 =~ /^[1-9][0-9]*\.$/ && $Fld2 =~ /^\[.*\]$/) {
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein if ($change != 0 && $Fld1 + 1 != $change) {
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein print 'bad change number', $Fld1;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $status = 1;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein }
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $change = $Fld1;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein }
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein}
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinexit $status;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein