@@ -113,12 +113,21 @@ func createPackage(cfg pkgConfig, createDir func(path string) error, createFile
113113
114114func createTarball (cfg pkgConfig , w io.Writer ) error {
115115 tw := tar .NewWriter (w )
116- defer tw .Close ()
116+ defer func () {
117+ if err := tw .Close (); err != nil {
118+ fmt .Fprintf (os .Stderr , "error closing tar writer: %v\n " , err )
119+ }
120+ }()
117121 writeFile := func (fileConfig fileConfig ) error {
118122 file , err := os .Open (fileConfig .SourcePath )
119123 if err != nil {
120124 return err
121125 }
126+ defer func () {
127+ if err := file .Close (); err != nil {
128+ fmt .Fprintf (os .Stderr , "error closing file %s: %v\n " , fileConfig .SourcePath , err )
129+ }
130+ }()
122131 info , err := file .Stat ()
123132 if err != nil {
124133 return err
@@ -156,12 +165,20 @@ func copyFile(src string, dst string) error {
156165 if err != nil {
157166 return err
158167 }
159- defer srcFile .Close ()
168+ defer func () {
169+ if err := srcFile .Close (); err != nil {
170+ fmt .Fprintf (os .Stderr , "error closing source file %s: %v\n " , src , err )
171+ }
172+ }()
160173 dstFile , err := os .Create (dst )
161174 if err != nil {
162175 return err
163176 }
164- defer dstFile .Close ()
177+ defer func () {
178+ if err := dstFile .Close (); err != nil {
179+ fmt .Fprintf (os .Stderr , "error closing destination file %s: %v\n " , dst , err )
180+ }
181+ }()
165182 _ , err = dstFile .ReadFrom (srcFile )
166183 if err != nil {
167184 return err
@@ -212,11 +229,23 @@ func runTool() error {
212229 if err != nil {
213230 return fmt .Errorf ("unable to open output file: %w" , err )
214231 }
215- defer file .Close ()
232+ defer func () {
233+ if err := file .Close (); err != nil {
234+ fmt .Fprintf (os .Stderr , "error closing output file %s: %v\n " , * output , err )
235+ }
236+ }()
216237 bw := bufio .NewWriter (file )
217- defer bw .Flush ()
238+ defer func () {
239+ if err := bw .Flush (); err != nil {
240+ fmt .Fprintf (os .Stderr , "error flushing buffered writer: %v\n " , err )
241+ }
242+ }()
218243 gw := gzip .NewWriter (bw )
219- defer gw .Close ()
244+ defer func () {
245+ if err := gw .Close (); err != nil {
246+ fmt .Fprintf (os .Stderr , "error closing gzip writer: %v\n " , err )
247+ }
248+ }()
220249 if err := createTarball (cfg , gw ); err != nil {
221250 return fmt .Errorf ("unable to create tarball: %w" , err )
222251 }
0 commit comments