Kaynağa Gözat

finished fixing output bug (order of defers matters)

Casey DeLorme 10 yıl önce
ebeveyn
işleme
9e1325726f
1 değiştirilmiş dosya ile 6 ekleme ve 1 silme
  1. 6 1
      staticmd.go

+ 6 - 1
staticmd.go

@@ -139,11 +139,16 @@ func (staticmd *Staticmd) Multi() {
 					staticmd.Logger.Error("failed to read file: %s, %s", p, err)
 				}
 
+				// debug output
+				staticmd.Logger.Debug("Page: %+v", page)
+
 				// translate input path to output path & create a write context
 				if f, err := os.Create(out); err == nil {
+					defer f.Close()
+
+					// prepare a writer /w buffer
 					fb := bufio.NewWriter(f)
 					defer fb.Flush()
-					defer f.Close()
 
 					// attempt to use template to write output with page context
 					if e := staticmd.Template.Execute(fb, page); e != nil {