From eb3b57de8f8c9637e1e446a6e1082d3d36b8583d Mon Sep 17 00:00:00 2001 From: Erica Fischer Date: Mon, 17 Jul 2023 16:39:36 -0700 Subject: [PATCH] Avoid initializing drop state with known-bad values --- drop.cpp | 4 ---- main.cpp | 6 +++++- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/drop.cpp b/drop.cpp index 17424e13..2087592f 100644 --- a/drop.cpp +++ b/drop.cpp @@ -64,10 +64,6 @@ int calc_feature_minzoom(struct index *ix, struct drop_state ds[], int maxzoom, } void prep_drop_states(struct drop_state ds[], int maxzoom, int basezoom, double droprate) { - if (basezoom < 0) { - basezoom = maxzoom; - } - // Needs to be signed for interval calculation for (ssize_t i = 0; i <= maxzoom; i++) { ds[i].previndex = 0; diff --git a/main.cpp b/main.cpp index ce648851..082774eb 100644 --- a/main.cpp +++ b/main.cpp @@ -1056,7 +1056,11 @@ void radix(std::vector &readers, int nreaders, FILE *geomfile, FI } struct drop_state ds[maxzoom + 1]; - prep_drop_states(ds, maxzoom, basezoom, droprate); + if (maxzoom < 0 || droprate <= 0) { // not guessed with -zg yet + prep_drop_states(ds, 0, 0, 1); + } else { + prep_drop_states(ds, maxzoom, basezoom, droprate); + } long long progress = 0, progress_max = geom_total, progress_reported = -1; long long availfiles_before = availfiles;