44 строки
1.3 KiB
Diff
44 строки
1.3 KiB
Diff
--- IP.pm
|
|
+++ IP.pm
|
|
@@ -416,7 +416,9 @@ sub intip {
|
|
|
|
my $int = ip_bintoint($self->binip());
|
|
|
|
- if (!$int) {
|
|
+ # this then fails for 0.0.0.0, which is wrong.
|
|
+ #
|
|
+ if (not defined $int) {
|
|
$self->{error} = $ERROR;
|
|
$self->{errno} = $ERRNO;
|
|
return;
|
|
@@ -625,9 +627,11 @@ sub last_int {
|
|
|
|
return ($self->{last_int}) if defined($self->{last_int});
|
|
|
|
- my $last_bin = $self->last_bin() or return;
|
|
+ my $last_bin = $self->last_bin();
|
|
+ return unless defined $last_bin;
|
|
|
|
- my $last_int = ip_bintoint($last_bin, $self->version()) or return;
|
|
+ my $last_int = ip_bintoint($last_bin, $self->version());
|
|
+ return unless defined $last_int;
|
|
|
|
$self->{last_int} = $last_int;
|
|
|
|
@@ -1267,11 +1271,13 @@ sub ip_prefix_to_range {
|
|
# Turn into a binary
|
|
# Get last address
|
|
# Turn into an IP
|
|
- my $binip = ip_iptobin($ip, $ip_version) or return;
|
|
+ my $binip = ip_iptobin($ip, $ip_version);
|
|
+ return unless defined $binip;
|
|
|
|
return unless (ip_check_prefix($binip, $len, $ip_version));
|
|
|
|
- my $lastip = ip_last_address_bin($binip, $len, $ip_version) or return;
|
|
+ my $lastip = ip_last_address_bin($binip, $len, $ip_version);
|
|
+ return unless defined $lastip;
|
|
return unless ($lastip = ip_bintoip($lastip, $ip_version));
|
|
|
|
return ($ip, $lastip);
|