squish.gzip.lua: Escape \026 in gzipped output to prevent Windows from interpreting it as EOF (thanks to Vadim Peretokin for his persistence!)

Sun, 10 Oct 2010 01:34:27 +0100

author
Matthew Wild <mwild1@gmail.com>
date
Sun, 10 Oct 2010 01:34:27 +0100
changeset 75
6028ae579fde
parent 74
4a76d75a1456
child 76
fdd7785b6fc2

squish.gzip.lua: Escape \026 in gzipped output to prevent Windows from interpreting it as EOF (thanks to Vadim Peretokin for his persistence!)

gzip/squish.gzip.lua file | annotate | diff | comparison | revisions
--- a/gzip/squish.gzip.lua	Sun Oct 10 01:32:54 2010 +0100
+++ b/gzip/squish.gzip.lua	Sun Oct 10 01:34:27 2010 +0100
@@ -42,7 +42,7 @@
 	outfile:write[[return assert(loadstring((function (i)local o={} ungz{input=i,output=function(b)table.insert(o,string.char(b))end}return table.concat(o)end) ]];
 
 	--outfile:write [[return assert(loadstring(_gunzip]]
-	outfile:write(string.format("%q", code));
+	outfile:write((string.format("%q", code):gsub("\026", "\\026")));
 	--outfile:write("[", string.rep("=", maxequals+1), "[", code, "]", string.rep("=", maxequals+1), "]");
 	outfile:write(", '@", outfile_fn,"'))()");
 	outfile:close();

mercurial