[ruby/ipaddr] Fix regressions in exception messages

Changes introduced by 09edfd4 have broken some exception
messages, and added the address as an unnecessary
suffix in others.

https://github.com/ruby/ipaddr/commit/74a043109c
This commit is contained in:
Luke Randall 2023-12-06 17:31:53 +00:00 committed by Hiroshi SHIBATA
parent eb53131367
commit da77c79d80

View File

@ -437,7 +437,7 @@ class IPAddr
when Integer when Integer
mask!(prefix) mask!(prefix)
else else
raise InvalidPrefixError, "prefix must be an integer: #{@addr}" raise InvalidPrefixError, "prefix must be an integer"
end end
end end
@ -511,11 +511,11 @@ class IPAddr
case family[0] ? family[0] : @family case family[0] ? family[0] : @family
when Socket::AF_INET when Socket::AF_INET
if addr < 0 || addr > IN4MASK if addr < 0 || addr > IN4MASK
raise InvalidAddressError, "invalid address: #{@addr}" raise InvalidAddressError, "invalid address: #{addr}"
end end
when Socket::AF_INET6 when Socket::AF_INET6
if addr < 0 || addr > IN6MASK if addr < 0 || addr > IN6MASK
raise InvalidAddressError, "invalid address: #{@addr}" raise InvalidAddressError, "invalid address: #{addr}"
end end
else else
raise AddressFamilyError, "unsupported address family" raise AddressFamilyError, "unsupported address family"
@ -542,12 +542,12 @@ class IPAddr
else else
m = IPAddr.new(mask) m = IPAddr.new(mask)
if m.family != @family if m.family != @family
raise InvalidPrefixError, "address family is not same: #{@addr}" raise InvalidPrefixError, "address family is not same"
end end
@mask_addr = m.to_i @mask_addr = m.to_i
n = @mask_addr ^ m.instance_variable_get(:@mask_addr) n = @mask_addr ^ m.instance_variable_get(:@mask_addr)
unless ((n + 1) & n).zero? unless ((n + 1) & n).zero?
raise InvalidPrefixError, "invalid mask #{mask}: #{@addr}" raise InvalidPrefixError, "invalid mask #{mask}"
end end
@addr &= @mask_addr @addr &= @mask_addr
return self return self
@ -558,13 +558,13 @@ class IPAddr
case @family case @family
when Socket::AF_INET when Socket::AF_INET
if prefixlen < 0 || prefixlen > 32 if prefixlen < 0 || prefixlen > 32
raise InvalidPrefixError, "invalid length: #{@addr}" raise InvalidPrefixError, "invalid length"
end end
masklen = 32 - prefixlen masklen = 32 - prefixlen
@mask_addr = ((IN4MASK >> masklen) << masklen) @mask_addr = ((IN4MASK >> masklen) << masklen)
when Socket::AF_INET6 when Socket::AF_INET6
if prefixlen < 0 || prefixlen > 128 if prefixlen < 0 || prefixlen > 128
raise InvalidPrefixError, "invalid length: #{@addr}" raise InvalidPrefixError, "invalid length"
end end
masklen = 128 - prefixlen masklen = 128 - prefixlen
@mask_addr = ((IN6MASK >> masklen) << masklen) @mask_addr = ((IN6MASK >> masklen) << masklen)