]> git.etc.gen.nz Git - spong.git/commitdiff
Replaced faulty sort and compare method for checking lists with List::Compare CPAN...
authorStephen L Johnson <sjohnson@monsters.org>
Sun, 27 Jul 2003 02:53:20 +0000 (02:53 +0000)
committerStephen L Johnson <sjohnson@monsters.org>
Sun, 27 Jul 2003 02:53:20 +0000 (02:53 +0000)
src/www-spong-ack.pl

index 528224f557a5ef0b9ab06de572a81b5c0ea55124..027eb4ecf049d5b1f82c1af6fce8f8d0b8ef8623 100755 (executable)
@@ -11,7 +11,7 @@
 # History
 # (1) Created, pulled out of www-spong program (Ed 07-28-97)
 #
-# $Id: www-spong-ack.pl,v 1.10 2003/01/29 23:01:51 sljohnson Exp $
+# $Id: www-spong-ack.pl,v 1.11 2003/07/27 02:53:20 sljohnson Exp $
 
 use lib "@@LIBDIR@@";
 
@@ -22,6 +22,8 @@ use POSIX;
 use Time::Local;
 use Spong::Host;
 
+use List::Compare;
+
 # Load our configuration variables, including the user specified configuration
 # information (spong.conf, spong.hosts, and spong.groups files).
 
@@ -380,9 +382,9 @@ sub load_config_files {
    eval $evalme || die "Invalid spong.hosts file: $@";
 
    # Fallback, if we didn't read things correctly...
+   my $lc = List::Compare->new( \@HOSTS_LIST, \@{[keys %HOSTS]} );
+   if( ! $lc->is_LequivalentR ) { @HOSTS_LIST = sort keys %HOSTS; }
    
-   if( sort ( @HOSTS_LIST ) != sort ( keys %HOSTS ) ) { 
-      @HOSTS_LIST = sort keys %HOSTS; }
 
    # Do the same thing for the groups file.
 
@@ -397,8 +399,8 @@ sub load_config_files {
    close( GROUPS );
    eval $evalme || die "Invalid spong.groups file: $@";
 
-   if( sort ( @GROUPS_LIST ) != sort ( keys %GROUPS ) ) { 
-      @GROUPS_LIST = sort keys %GROUPS; }
+   $lc = List::Compare->new( \@GROUPS_LIST, \@{[keys %GROUPS]} );
+   if( ! $lc->is_LequivalentR ) { @GROUPS_LIST = sort keys %GROUPS; }
 }