]> git.vpit.fr Git - perl/scripts/xchat.git/blobdiff - clones.pl
A cleaner idiom for "get the list of connected servers"
[perl/scripts/xchat.git] / clones.pl
index 5e385959a4b390729152b24c436adf8e91ed7fe4..20aecfae044feabb10c3711294a00c6d66c89ed1 100755 (executable)
--- a/clones.pl
+++ b/clones.pl
@@ -266,9 +266,9 @@ hook_server 'QUIT', sub {
 };
 
 hook_print 'Disconnected', sub {
 };
 
 hook_print 'Disconnected', sub {
- my %servers = map { $_->{server} => 1 }
-                grep { $_->{flags} & 9 and not($_->{flags} & 2) }
-                 get_list 'channels';
+ my %servers;
+ $servers{$_->{server}} = 1 for grep +($_->{flags} & 0b1011) == 0b1001,
+                                 get_list 'channels';
 
  delete @users{  grep !$servers{$_}, keys %users};
  delete @fetched{grep !$servers{$_}, keys %fetched};
 
  delete @users{  grep !$servers{$_}, keys %users};
  delete @fetched{grep !$servers{$_}, keys %fetched};