]> git.vpit.fr Git - perl/scripts/xchat.git/commitdiff
A cleaner idiom for "get the list of connected servers"
authorVincent Pit <vince@profvince.com>
Sat, 10 Mar 2012 18:13:55 +0000 (19:13 +0100)
committerVincent Pit <vince@profvince.com>
Sat, 10 Mar 2012 18:29:40 +0000 (19:29 +0100)
clones.pl
opers.pl

index 5e385959a4b390729152b24c436adf8e91ed7fe4..20aecfae044feabb10c3711294a00c6d66c89ed1 100755 (executable)
--- a/clones.pl
+++ b/clones.pl
@@ -266,9 +266,9 @@ hook_server 'QUIT', 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};
index 875abc9e63910213abd32ffce06082b96d62a67b..87a01c42d1b7c5e8bfa5e3d4b0b7ae011f9bda9c 100755 (executable)
--- a/opers.pl
+++ b/opers.pl
@@ -51,9 +51,9 @@ hook_server '352', 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 @opers{grep !$servers{$_}, keys %opers};