#!/usr/bin/perl # # Copyright (C) Internet Systems Consortium, Inc. ("ISC") # # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. # # See the COPYRIGHT file distributed with this work for additional # information regarding copyright ownership. eval 'exec /usr/bin/perl -S $0 ${1+"$@"}' if $running_under_some_shell; # this emulates #! processing on NIH machines. # (remove #! line above if indigestible) $master = 1; eval '$'.$1.'$2;' while $ARGV[0] =~ /^([A-Za-z_0-9]+=)(.*)/ && shift; # process any FOO=bar switches $, = ' '; # set output field separator $\ = "\n"; # set output record separator $change = 0; $status = 0; line: while (<>) { ($Fld1,$Fld2,$Fld3,$Fld4) = split(' ', $_, 9999); $change = 0 if (!$master && $Fld1 eq "---" && $Fld3 eq "released" && $Fld4 eq "---"); if ($Fld1 =~ /^[1-9][0-9]*\.$/ && $Fld2 =~ /^\[.*\]$/) { if ($change != 0 && $Fld1 >= $change) { print 'bad change number', $Fld1; $status = 1; } if ($master && $change != 0 && $Fld1 + 1 != $change) { print 'bad change number', $Fld1; $status = 1; } $change = $Fld1; } } exit $status;