diff options
-rwxr-xr-x | checksetup.pl | 16 | ||||
-rw-r--r-- | globals.pl | 22 |
2 files changed, 19 insertions, 19 deletions
diff --git a/checksetup.pl b/checksetup.pl index 4eeec8ef1..4c3ab81d3 100755 --- a/checksetup.pl +++ b/checksetup.pl @@ -2405,25 +2405,27 @@ if (GetFieldDef('bugs_activity', 'oldvalue')) { oldvalue, newvalue FROM bugs_activity"); $sth->execute; while (my ($bug_id, $who, $bug_when, $fieldid, $oldvalue, $newvalue) = $sth->fetchrow_array()) { - # print a "." every 500 records so the user knows we didn't die - print "." if !($i++ % 500); + # print the iteration count every 500 records so the user knows we didn't die + print "$i..." if !($i++ % 500); # Make sure (old|new)value isn't null (to suppress warnings) $oldvalue ||= ""; $newvalue ||= ""; my ($added, $removed) = ""; - if (grep /^$fieldid$/, @multi) { + if (grep ($_ eq $fieldid, @multi)) { + $oldvalue =~ s/[\s,]+/ /g; + $newvalue =~ s/[\s,]+/ /g; + my @old = split(" ", $oldvalue); + my @new = split(" ", $newvalue); my (@add, @remove) = (); - my @old = split(/[ ,]/, $oldvalue); - my @new = split(/[ ,]/, $newvalue); # Find values that were "added" foreach my $value(@new) { - if (! grep /^$value$/, @old) { + if (! grep ($_ eq $value, @old)) { push (@add, $value); } } # Find values that were removed foreach my $value(@old) { - if (! grep /^$value$/, @new) { + if (! grep ($_ eq $value, @new)) { push (@remove, $value); } } diff --git a/globals.pl b/globals.pl index 3d14c9153..a3ea97c40 100644 --- a/globals.pl +++ b/globals.pl @@ -1295,24 +1295,22 @@ sub Param ($) { sub DiffStrings { my ($oldstr, $newstr) = @_; + # Split the old and new strings into arrays containing their values. + $oldstr =~ s/[\s,]+/ /g; + $newstr =~ s/[\s,]+/ /g; + my @old = split(" ", $oldstr); + my @new = split(" ", $newstr); + my (@remove, @add) = (); - my @old = split(/[ ,]/, $oldstr); - my @new = split(/[ ,]/, $newstr); # Find values that were removed - foreach my $value(@old) { - next if $value =~ /^\s*$/; - if (! grep /^$value$/, @new) { - push (@remove, $value); - } + foreach my $value (@old) { + push (@remove, $value) if !grep($_ eq $value, @new); } # Find values that were added - foreach my $value(@new) { - next if $value =~ /^\s*$/; - if (! grep /^$value$/, @old) { - push (@add, $value); - } + foreach my $value (@new) { + push (@add, $value) if !grep($_ eq $value, @old); } my $removed = join (", ", @remove); |