diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/resolv.rb | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/resolv.rb b/lib/resolv.rb index bfff58b035..bff673c990 100644 --- a/lib/resolv.rb +++ b/lib/resolv.rb @@ -2699,10 +2699,12 @@ class Resolv return arg when String coordinates = '' - if Regex =~ arg && $1<180 - hemi = ($4[/([NE])/,1]) || ($4[/([SW])/,1]) ? 1 : -1 - coordinates = [(($1.to_i*(36e5))+($2.to_i*(6e4))+($3.to_f*(1e3)))*hemi+(2**31)].pack("N") - (orientation ||= '') << $4[[/NS/],1] ? 'lat' : 'lon' + if Regex =~ arg && $1.to_f < 180 + m = $~ + hemi = (m[4][/[NE]/]) || (m[4][/[SW]/]) ? 1 : -1 + coordinates = [ ((m[1].to_i*(36e5)) + (m[2].to_i*(6e4)) + + (m[3].to_f*(1e3))) * hemi+(2**31) ].pack("N") + orientation = m[4][/[NS]/] ? 'lat' : 'lon' else raise ArgumentError.new("not a properly formed Coord string: " + arg) end |