--- ipaddr.rb 2012-11-29 22:11:05.000000000 -0800 +++ ipaddrpatch.rb 2012-11-29 22:07:30.000000000 -0800 @@ -548,11 +548,15 @@ addr = in_addr($~[4,4]) left = $1 right = $3 + '0:0' - else + elsif !($1 == "" or $2 == "") left.count(':') <= 7 or raise InvalidAddressError, "invalid address" left = $1 right = $2 addr = 0 + else + left = $1 + $2 + right = "" + addr = 0 end else raise InvalidAddressError, "invalid address"