X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/26a7af26aa149017e2b16a0b96d74d3bacc7a7f1..c9604e2115c28e7c0cf649f15f332e2911a47931:/packaging/var-checker diff --git a/packaging/var-checker b/packaging/var-checker index eb8b32e1..b63428b7 100755 --- a/packaging/var-checker +++ b/packaging/var-checker @@ -1,18 +1,75 @@ -#!/usr/bin/perl -# This script finds extraneous "extern" variables in the *.c files. -# Run it from inside the main rsync directory. +#!/usr/bin/perl -w +# This script checks the *.c files for extraneous "extern" variables, +# for vars that are defined but not used, and for inconsistent array +# sizes. Run it from inside the main rsync directory. use strict; +my %add_syscall_c = map { $_ => 1 } qw( t_stub.c t_unsafe.c tls.c trimslash.c ); +my %add_util_c = map { $_ => 1 } qw( t_stub.c t_unsafe.c ); +my %sizes; + +open(IN, '<', 'syscall.c') or die $!; +undef $/; my $syscall_c = ; $/ = "\n"; +close IN; +$syscall_c =~ s/^extern\s.*//mg; + +open(IN, '<', 'util.c') or die $!; +undef $/; my $util_c = ; $/ = "\n"; +close IN; +$util_c =~ s/^extern\s.*//mg; + my @files = glob('*.c'); foreach my $fn (@files) { - open(IN, '<', $fn) or die; + open(IN, '<', $fn) or die $!; undef $/; $_ = ; $/ = "\n"; close IN; - my @externs = /^extern .*?([^[\s(*;&.]+)(?:\[.*?\])?;/mg; - foreach my $find (@externs) { - my @matches = /(?