diff --git a/userprefs.cgi b/userprefs.cgi index a5590e4eb43dd67c1b0b4c8abd24470f1de8f47d..df2255ce42c31431798dfc093c97c86816f10efd 100755 --- a/userprefs.cgi +++ b/userprefs.cgi @@ -309,12 +309,12 @@ sub SaveEmail { # The new information given to us by the user. my @new_watch_names = split(/[,\s]+/, $cgi->param('watchedusers')); - my @new_watch_ids = (); + my %new_watch_ids; foreach my $username (@new_watch_names) { my $watched_userid = DBNameToIdAndCheck(trim($username)); - push(@new_watch_ids, $watched_userid); + $new_watch_ids{$watched_userid} = 1; } - my ($removed, $added) = diff_arrays($old_watch_ids, \@new_watch_ids); + my ($removed, $added) = diff_arrays($old_watch_ids, [keys %new_watch_ids]); # Remove people who were removed. my $delete_sth = $dbh->prepare('DELETE FROM watch WHERE watched = ?'