diff --git a/cmd/sprites/main.go b/cmd/sprites/main.go index fac0c11..c7b7e93 100644 --- a/cmd/sprites/main.go +++ b/cmd/sprites/main.go @@ -232,14 +232,18 @@ func generateSprite(cat *SpriteCategory, iconSize int, suffix string) error { } // loadImage loads a PNG image from the given path -func loadImage(path string) (image.Image, error) { +func loadImage(path string) (img image.Image, err error) { file, err := os.Open(path) if err != nil { return nil, err } - defer file.Close() + defer func() { + if cerr := file.Close(); cerr != nil && err == nil { + err = cerr + } + }() - img, err := png.Decode(file) + img, err = png.Decode(file) if err != nil { return nil, err } @@ -295,7 +299,7 @@ func resizeAndCenter(src image.Image, targetSize int) *image.RGBA { } // saveImage saves an image to the given path as PNG -func saveImage(img image.Image, path string) error { +func saveImage(img image.Image, path string) (err error) { // Ensure directory exists dir := filepath.Dir(path) if err := os.MkdirAll(dir, 0755); err != nil { @@ -306,7 +310,11 @@ func saveImage(img image.Image, path string) error { if err != nil { return err } - defer file.Close() + defer func() { + if cerr := file.Close(); cerr != nil && err == nil { + err = cerr + } + }() return png.Encode(file, img) }