# HG changeset patch
# User Kim Alvefur <zash@zash.se>
# Date 1512099229 -3600
# Node ID ec8f37baffaa7074d3b9321717b8e81c327988c4
# Parent  ca7f8e60410a496611332661350e6831b125cb25
util.ip: Simplify creation of IPv6-mapped IPv4 addresses

diff -r ca7f8e60410a -r ec8f37baffaa util/ip.lua
--- a/util/ip.lua	Fri Dec 01 04:33:27 2017 +0100
+++ b/util/ip.lua	Fri Dec 01 04:33:49 2017 +0100
@@ -155,22 +155,9 @@
 	end
 end
 
-local function toV4mapped(ip)
-	local fields = {};
-	local ret = "::ffff:";
-	ip:gsub("([^.]*).?", function (c) fields[#fields + 1] = tonumber(c) end);
-	ret = ret .. ("%02x"):format(fields[1]);
-	ret = ret .. ("%02x"):format(fields[2]);
-	ret = ret .. ":"
-	ret = ret .. ("%02x"):format(fields[3]);
-	ret = ret .. ("%02x"):format(fields[4]);
-	return new_ip(ret, "IPv6");
-end
-
 function ip_methods:toV4mapped()
 	if self.proto ~= "IPv4" then return nil, "No IPv4 address" end
-	local value = toV4mapped(self.addr);
-	self.toV4mapped = value;
+	local value = new_ip("::ffff:" .. self.normal);
 	return value;
 end