Remove duplicate interface names in generated case statement.

Signed-off-by: Tom Eastep <teastep@shorewall.net>
This commit is contained in:
Tom Eastep 2013-03-06 07:03:41 -08:00
parent 0bb62ed290
commit 32b2030e59

View File

@ -221,10 +221,21 @@ sub copy_and_edit_table( $$$$ ) {
my ( $duplicate, $number, $copy, $realm) = @_;
my $filter = $family == F_IPV6 ? q(fgrep -v ' cache ' | sed 's/ via :: / /' | ) : '';
my %copied;
my @copy;
#
# Remove duplicates
#
for ( split ',', $copy ) {
unless ( $copied{$_} ) {
push @copy, $_;
$copied{$_} = 1;
}
}
#
# Map physical names in $copy to logical names
#
$copy = join( '|' , map( physical_name($_) , split( ',' , $copy ) ) );
$copy = join( '|' , map( physical_name($_) , @copy ) );
#
# Shell and iptables use a different wildcard character
#