diff pkg/mesh/meshserialize.go @ 5724:1ea1d3ef2258

Be tolerant in re-generating multi meshes iso areas if mesh data is empty.
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Wed, 29 May 2024 14:23:37 +0200
parents ef80748ae4f3
children
line wrap: on
line diff
--- a/pkg/mesh/meshserialize.go	Wed May 29 12:49:20 2024 +0200
+++ b/pkg/mesh/meshserialize.go	Wed May 29 14:23:37 2024 +0200
@@ -80,7 +80,7 @@
 	version = coalesceVersion(version)
 	r, err := gzip.NewReader(bytes.NewReader(data))
 	if err != nil {
-		return err
+		return fmt.Errorf("not gzip formatted: %w", err)
 	}
 	return s.deserialize(bufio.NewReader(r), version)
 }
@@ -88,7 +88,7 @@
 func (s *STRTree) deserialize(r *bufio.Reader, version int) error {
 	header, err := r.Peek(8)
 	if err != nil {
-		return err
+		return fmt.Errorf("peeking 8 bytes ahead failed: %w", err)
 	}
 	if bytes.HasPrefix(header, []byte(magicHeader)) {
 		realVersion := int(binary.LittleEndian.Uint32(header[4:]))
@@ -98,7 +98,7 @@
 		}
 		// Skip the header
 		if _, err := r.Discard(8); err != nil {
-			return err
+			return fmt.Errorf("discarding failed: %w", err)
 		}
 		return s.deserializeVn(r, realVersion)
 	}