--- /dev/null
+#!/usr/bin/perl
+# This script finds extraneous "extern" variables in the *.c files.
+# Run it from inside the main rsync directory.
+
+use strict;
+
+my @files = glob('*.c');
+
+foreach my $fn (@files) {
+ open(IN, '<', $fn) or die;
+ undef $/; $_ = <IN>; $/ = "\n";
+ close IN;
+ my @externs = /^extern .*?([^[\s(*;&.]+)(?:\[.*?\])?;/mg;
+ foreach my $find (@externs) {
+ my @matches = /(?<!\sstruct )\b(\Q$find\E)\b/g;
+ print $fn, ': ', $find, "\n" if @matches == 1;
+ }
+}