From aa6e495505d65d7e87a770e571fc1f3225f6946e Mon Sep 17 00:00:00 2001 From: Catherine Date: Thu, 20 Nov 2025 01:17:01 +0000 Subject: [PATCH] Fix DIV/0 when compressing a site without contents. I think this doesn't affect anything, but prevents an embarrassing message from appearing in the log: compress: saved NaN percent (0 B to 0 B) --- src/manifest.go | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/manifest.go b/src/manifest.go index defaf99..c17fc99 100644 --- a/src/manifest.go +++ b/src/manifest.go @@ -187,14 +187,16 @@ func CompressFiles(ctx context.Context, manifest *Manifest) { manifest.OriginalSize = proto.Int64(originalSize) manifest.CompressedSize = proto.Int64(compressedSize) - spaceSaving := (float64(originalSize) - float64(compressedSize)) / float64(originalSize) - log.Printf("compress: saved %.2f percent (%s to %s)", - spaceSaving*100.0, - datasize.ByteSize(originalSize).HR(), - datasize.ByteSize(compressedSize).HR(), - ) - siteCompressionSpaceSaving. - Observe(spaceSaving) + if originalSize != 0 { + spaceSaving := (float64(originalSize) - float64(compressedSize)) / float64(originalSize) + log.Printf("compress: saved %.2f percent (%s to %s)", + spaceSaving*100.0, + datasize.ByteSize(originalSize).HR(), + datasize.ByteSize(compressedSize).HR(), + ) + siteCompressionSpaceSaving. + Observe(spaceSaving) + } } // Apply post-processing steps to the manifest.