X-Git-Url: http://cvs.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/2fca3ad92d74206a4d92ab695e5acc711364d723..022346a195b1da167058804b2d996ca5f0b56aaa:/client/scripts/htmldump.lua?ds=sidebyside

diff --git a/client/scripts/htmldump.lua b/client/scripts/htmldump.lua
index e6c1393b..d14f8819 100644
--- a/client/scripts/htmldump.lua
+++ b/client/scripts/htmldump.lua
@@ -2,6 +2,7 @@
 -- Have a look there for further details
 getopt = require('getopt')
 bin = require('bin')
+dumplib = require('html_dumplib')
 
 example = "script run htmldump -o mifarecard_foo.html"
 author = "Martin Holst Swende"
@@ -43,26 +44,6 @@ function help()
 	print(example)
 end
 
-local function readdump(infile)
-	 t = infile:read("*all")
-	 --print(string.len(t))
-	 len = string.len(t)
-	 local len,hex = bin.unpack(("H%d"):format(len),t)
-	 --print(len,hex)
-	 return hex
-end
-local function convert_to_js(hexdata)
-	if string.len(hexdata) % 32 ~= 0 then 
-		return oops(("Bad data, length should be a multiple of 32 (was %d)"):format(string.len(hexdata)))
-	end
-	local js,i = "[";
-	for i = 1, string.len(hexdata),32 do
-		js = js .."'" ..string.sub(hexdata,i,i+31).."',\n"
-	end
-	js = js .. "]"
-	return js
-end
-
 local function main(args)
 
 	local input = "dumpdata.bin"
@@ -72,31 +53,12 @@ local function main(args)
 		if o == "i" then input = a end
 		if o == "o" then output = a end
 	end
-	-- Validate the parameters
-	
-	local infile = io.open(input, "r")
-	if infile == nil then 
-		return oops("Could not read file ", input)
-	end
-	--lokal skel = require("skel")
-	local dumpdata = readdump(infile)
-	io.close(infile)
+	local filename, err = dumplib.convert_bin_to_html(input,output,16)
+	if err then return oops(err) end
 
-	local js_code = convert_to_js(dumpdata)
-	--print(js_code)
-	local skel = require("htmlskel")
-	html = skel.getHTML(js_code);
-	
-	local outfile = io.open(output, "w")
-	if outfile == nil then 
-		return oops("Could not write to file ", output)
-	end
-	outfile:write(html)
-	io.close(outfile)
-	print(("Wrote a HTML dump to the file %s"):format(output))
+	print(("Wrote a HTML dump to the file %s"):format(filename))
 end
 
-
 --[[
 In the future, we may implement so that scripts are invoked directly 
 into a 'main' function, instead of being executed blindly. For future