]> git.vpit.fr Git - perl/scripts/xchat.git/commitdiff
Restyle Xchat::XPI::Net
authorVincent Pit <vince@profvince.com>
Sat, 10 Mar 2012 11:01:40 +0000 (12:01 +0100)
committerVincent Pit <vince@profvince.com>
Sat, 10 Mar 2012 11:03:17 +0000 (12:03 +0100)
Xchat/XPI/Net.pm

index ec5ba09b4e227c780e55ec30df01251c1b46ef45..9c83b14594c253cb2c4c90da880027972dc8aed0 100644 (file)
@@ -25,24 +25,30 @@ BEGIN {
 }
 
 sub resolve {
- my ($host, $callback) = @_[0, 1];
- return unless $host && $callback;
- my $args = $_[2];
+ my ($host, $callback, $args) = @_;
+ return unless $host and $callback;
+
  my $sock = $res->bgsend($host);
  return unless $sock;
  $sock->autoflush(1);
- my $hook = Xchat::hook_fd($sock, \&_dns_recv, { flags => FD_READ, data => [ $callback, $args ] } );
- return $hook;
+
+ return Xchat::hook_fd($sock, \&_dns_recv, {
+  flags => FD_READ,
+  data  => [ $callback, $args ],
+ });
 }
 
 sub _dns_recv {
- my $fd = $_[0];
+ my $fh = $_[0];
  my ($callback, $args) = @{$_[2]};
- my $p = $res->bgread($fd);
- $fd->shutdown(2);
- close $fd;
- undef $fd;
- &$callback($p, $args);
+
+ my $p = $res->bgread($fh);
+ $fh->shutdown(2);
+ close $fh;
+ undef $fh;
+
+ $callback->($p, $args);
+
  return REMOVE;
 }
 
@@ -52,25 +58,26 @@ my %whois_servers = (
      arpa => 'whois.arin.net',
 #      mil => 'whois.nic.mil',
  },
- ipv4 => { default => 'whois.ripe.net' },
- ipv6 => { default => 'whois.6bone.net' }
+ ipv4 => { default => 'whois.ripe.net'  },
+ ipv6 => { default => 'whois.6bone.net' },
 );
 
 sub whois {
- my ($host, $callback) = @_[0, 1];
- return unless $host && $callback;
- my $args = $_[2];
+ my ($host, $callback, $args) = @_;
+ return unless $host and $callback;
+
  my $server;
  if ($host =~ /^\s*\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(\/\d{1,2})?$/) {
   $server = $whois_servers{ipv4}{default};
  } elsif ($host =~ /^\s*[\d:]*(\/\d{1,2})?\s*$/) {
   $server = $whois_servers{ipv6}{default};
  } elsif ($host =~ /([^\.]+)\.+([a-z]+)\.*$/) {
-  $host = $1.'.'.$2;
+  $host   = $1 . '.' . $2;
   $server = $whois_servers{domain}{$2};
-  $server = $whois_servers{domain}{default} if !$server;
+  $server = $whois_servers{domain}{default} unless $server;
  }
  return unless $server;
+
  my $hook;
 
 # resolve($server, \&_whois_send, [ \$hook, $host, $callback, $args ] );
@@ -87,23 +94,31 @@ sub whois {
  my $sock = IO::Socket::INET->new(
   PeerAddr => $server,
   PeerPort => 43,
-  Proto => 'tcp'
- ) or return;
+  Proto    => 'tcp',
+ );
+ return unless $sock;
  $sock->autoflush(1);
+
  print $sock "$host\x0D\x0A";
  $sock->shutdown(1); # stop writing
- $hook = Xchat::hook_fd($sock, \&_whois_recv, { flags => FD_READ, data => [ $callback, $args ] } );
- return $hook;
+
+ return Xchat::hook_fd($sock, \&_whois_recv, {
+  flags => FD_READ,
+  data  => [ $callback, $args ],
+ });
 }
 
 sub _whois_recv {
- my $fd = $_[0];
+ my $fh = $_[0];
  my ($callback, $args) = @{$_[2]};
- my $raw = do { local $/; <$fd>; };
- $fd->shutdown(2);
- close $fd;
- undef $fd;
- &$callback($raw, $args);
+
+ my $raw = do { local $/; <$fh>; };
+ $fh->shutdown(2);
+ close $fh;
+ undef $fh;
+
+ $callback->($raw, $args);
+
  return REMOVE;
 }