From 757c09cb875b2fc053f567d7bf2fef2f93d74fee Mon Sep 17 00:00:00 2001 From: Brad Fitzpatrick Date: Tue, 18 Jun 2013 18:39:43 -0700 Subject: [PATCH] make.go: fix zip corruption with extra bytes from newlines Change-Id: Ib6fc01c60885898e09abaea4e8eec0e79fb7581a --- make.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/make.go b/make.go index 348499ad5..66ae2facc 100644 --- a/make.go +++ b/make.go @@ -344,7 +344,13 @@ func embedClosure(closureDir, embedFile string) error { // first, zip it var zipbuf bytes.Buffer - w := zip.NewWriter(&zipbuf) + var zipdest io.Writer = &zipbuf + if os.Getenv("CAMLI_WRITE_TMP_ZIP") != "" { + f, _ := os.Create("/tmp/camli-closure.zip") + zipdest = io.MultiWriter(zipdest, f) + defer f.Close() + } + w := zip.NewWriter(zipdest) err := filepath.Walk(closureDir, func(path string, fi os.FileInfo, err error) error { if err != nil { return err @@ -415,6 +421,7 @@ func quote(dest *bytes.Buffer, bs []byte) { for _, b := range bs { if b == '\n' { dest.WriteString(`\n`) + continue } if b == '\\' { dest.WriteString(`\\`)