fix: handle file.Close() errors in sprites command (errcheck)

This commit is contained in:
juanatsap
2025-12-06 11:29:59 +00:00
parent 42f6135c07
commit 44cf5204f8
+13 -5
View File
@@ -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)
}