From b71651cc057fd7df53c97a5e075d75139f16d7f4 Mon Sep 17 00:00:00 2001
From: Marko Lindqvist <cazfi74@gmail.com>
Date: Sat, 26 Sep 2026 23:09:25 +0300
Subject: [PATCH 30/30] fair_map_island_new(): Fix set-but-unused warning on
 ndebug builds

See RM #2298

Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
---
 server/generator/mapgen.c | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/server/generator/mapgen.c b/server/generator/mapgen.c
index 2e35933939..1efcaff0aa 100644
--- a/server/generator/mapgen.c
+++ b/server/generator/mapgen.c
@@ -3197,7 +3197,7 @@ static struct fair_tile *fair_map_island_new(int size, int startpos_num)
     struct fair_tile *pend;
     int n = ((river_pct * size * wld.map.num_cardinal_dirs
               * wld.map.num_cardinal_dirs) / 200);
-    int length_max = 3, length, l;
+    int length_max = 3, l;
     enum direction8 dir;
     int extra_idx;
     int dirs_num;
@@ -3254,7 +3254,11 @@ static struct fair_tile *fair_map_island_new(int size, int startpos_num)
 
       /* Check a river in one direction. */
       pend = NULL;
-      length = -1;
+
+#if !defined(FREECIV_NDEBUG) || defined(FREECIV_DEBUG)
+      int length = -1;
+#endif
+
       dir = direction8_invalid();
       dirs_num = 0;
       for (j = 0; j < wld.map.num_valid_dirs; j++) {
@@ -3306,7 +3310,10 @@ static struct fair_tile *fair_map_island_new(int size, int startpos_num)
         if (finished && fc_rand(++dirs_num) == 0) {
           dir = wld.map.valid_dirs[j];
           pend = pftile2;
+
+#if !defined(FREECIV_NDEBUG) || defined(FREECIV_DEBUG)
           length = l;
+#endif
         }
       }
       if (pend == NULL) {
@@ -3322,7 +3329,11 @@ static struct fair_tile *fair_map_island_new(int size, int startpos_num)
                 length);
       for (;;) {
         BV_SET(pftile->extras, extra_idx);
+
+#if !defined(FREECIV_NDEBUG) || defined(FREECIV_DEBUG)
         length--;
+#endif
+
         if (pftile == pend) {
           fc_assert(length == 0);
           break;
-- 
2.53.0

