@@ -16,7 +16,7 @@ import (
1616 "github.com/jessevdk/go-flags"
1717)
1818
19- const version = "v0.1.1 "
19+ const version = "v0.1.2 "
2020
2121var commonOpts options
2222var parser = flags .NewParser (& commonOpts , flags .HelpFlag | flags .PassDoubleDash )
@@ -204,40 +204,42 @@ func createZipArchive(dir, dst string) error {
204204 }()
205205
206206 for f := range work {
207- reader , err := os .Open (f )
208- if err != nil {
207+ if err := addFileToArchive (f , dir , zw ); err != nil {
209208 log .Printf ("%v failed to add to archive: %v\n " , errorRedPrefix , err )
210- continue
211209 }
212- defer reader . Close ()
210+ }
213211
214- fiStat , err := os .Stat (f )
215- if err != nil {
216- log .Printf ("%v failed to add to archive: %v\n " , errorRedPrefix , err )
217- continue
218- }
212+ return <- done
213+ }
219214
220- name := strings .TrimLeft (strings .TrimPrefix (f , dir ), string (filepath .Separator ))
221- fh , err := zip .FileInfoHeader (fiStat )
222- if err != nil {
223- log .Printf ("%v failed to add to archive: %v\n " , errorRedPrefix , err )
224- continue
225- }
226- fh .Name = name
215+ func addFileToArchive (file , dir string , zw * zip.Writer ) error {
216+ reader , err := os .Open (file )
217+ if err != nil {
218+ return err
219+ }
220+ defer reader .Close ()
227221
228- writer , err := zw .CreateHeader (fh )
229- if err != nil {
230- log .Printf ("%v failed to add to archive: %v\n " , errorRedPrefix , err )
231- continue
232- }
222+ fiStat , err := os .Stat (file )
223+ if err != nil {
224+ return err
225+ }
233226
234- if _ , err := io . Copy ( writer , reader ); err != nil {
235- log . Printf ( "%v failed to add to archive: %v \n " , errorRedPrefix , err )
236- continue
237- }
227+ name := strings . TrimLeft ( strings . TrimPrefix ( file , dir ), string ( filepath . Separator ))
228+ fh , err := zip . FileInfoHeader ( fiStat )
229+ if err != nil {
230+ return err
238231 }
232+ fh .Name = name
239233
240- return <- done
234+ writer , err := zw .CreateHeader (fh )
235+ if err != nil {
236+ return err
237+ }
238+
239+ if _ , err := io .Copy (writer , reader ); err != nil {
240+ return err
241+ }
242+ return nil
241243}
242244
243245type versionCmd struct {}
0 commit comments