Author: ivan
Date: Wed May 20 18:29:58 2026
New Revision: 1934443

Log:
Rewrite code to make it less error prone. No functional changes intended.

* subversion/libsvn_subr/sysinfo.c
  (svn_sysinfo__linked_libs): Use separate scope for each lib.

Modified:
   subversion/trunk/subversion/libsvn_subr/sysinfo.c

Modified: subversion/trunk/subversion/libsvn_subr/sysinfo.c
==============================================================================
--- subversion/trunk/subversion/libsvn_subr/sysinfo.c   Wed May 20 17:04:24 
2026        (r1934442)
+++ subversion/trunk/subversion/libsvn_subr/sysinfo.c   Wed May 20 18:29:58 
2026        (r1934443)
@@ -146,56 +146,72 @@ svn_sysinfo__character_encoding(apr_pool
 const apr_array_header_t *
 svn_sysinfo__linked_libs(apr_pool_t *pool)
 {
-  svn_version_ext_linked_lib_t *lib;
-  apr_array_header_t *array = apr_array_make(pool, 7, sizeof(*lib));
-  int lz4_version = svn_lz4__runtime_version();
-
-  lib = &APR_ARRAY_PUSH(array, svn_version_ext_linked_lib_t);
-  lib->name = "APR";
-  lib->compiled_version = APR_VERSION_STRING;
-  lib->runtime_version = apr_pstrdup(pool, apr_version_string());
+  apr_array_header_t *array =
+      apr_array_make(pool, 7, sizeof(svn_version_ext_linked_lib_t));
+
+  {
+    svn_version_ext_linked_lib_t *lib = apr_array_push(array);
+    lib->name = "APR";
+    lib->compiled_version = APR_VERSION_STRING;
+    lib->runtime_version = apr_pstrdup(pool, apr_version_string());
+  }
 
 /* Don't list APR-Util if it isn't linked in, which it may not be if
  * we're using APR 2.x+ which combined APR-Util into APR. */
 #ifdef APU_VERSION_STRING
-  lib = &APR_ARRAY_PUSH(array, svn_version_ext_linked_lib_t);
-  lib->name = "APR-Util";
-  lib->compiled_version = APU_VERSION_STRING;
-  lib->runtime_version = apr_pstrdup(pool, apu_version_string());
+  {
+    svn_version_ext_linked_lib_t *lib = apr_array_push(array);
+    lib->name = "APR-Util";
+    lib->compiled_version = APU_VERSION_STRING;
+    lib->runtime_version = apr_pstrdup(pool, apu_version_string());
+  }
 #endif
 
-  lib = &APR_ARRAY_PUSH(array, svn_version_ext_linked_lib_t);
-  lib->name = "Expat";
-  lib->compiled_version = apr_pstrdup(pool, svn_xml__compiled_version());
-  lib->runtime_version = apr_pstrdup(pool, svn_xml__runtime_version());
-
-  lib = &APR_ARRAY_PUSH(array, svn_version_ext_linked_lib_t);
-  lib->name = "SQLite";
-  lib->compiled_version = apr_pstrdup(pool, svn_sqlite__compiled_version());
+  {
+    svn_version_ext_linked_lib_t *lib = apr_array_push(array);
+    lib->name = "Expat";
+    lib->compiled_version = apr_pstrdup(pool, svn_xml__compiled_version());
+    lib->runtime_version = apr_pstrdup(pool, svn_xml__runtime_version());
+  }
+
+  {
+    svn_version_ext_linked_lib_t *lib = apr_array_push(array);
+    lib->name = "SQLite";
+    lib->compiled_version = apr_pstrdup(pool, svn_sqlite__compiled_version());
 #ifdef SVN_SQLITE_INLINE
-  lib->runtime_version = NULL;
+    lib->runtime_version = NULL;
 #else
-  lib->runtime_version = apr_pstrdup(pool, svn_sqlite__runtime_version());
+    lib->runtime_version = apr_pstrdup(pool, svn_sqlite__runtime_version());
 #endif
+  }
 
-  lib = &APR_ARRAY_PUSH(array, svn_version_ext_linked_lib_t);
-  lib->name = "Utf8proc";
-  lib->compiled_version = apr_pstrdup(pool, 
svn_utf__utf8proc_compiled_version());
-  lib->runtime_version = apr_pstrdup(pool, 
svn_utf__utf8proc_runtime_version());
-
-  lib = &APR_ARRAY_PUSH(array, svn_version_ext_linked_lib_t);
-  lib->name = "ZLib";
-  lib->compiled_version = apr_pstrdup(pool, svn_zlib__compiled_version());
-  lib->runtime_version = apr_pstrdup(pool, svn_zlib__runtime_version());
-
-  lib = &APR_ARRAY_PUSH(array, svn_version_ext_linked_lib_t);
-  lib->name = "LZ4";
-  lib->compiled_version = apr_pstrdup(pool, svn_lz4__compiled_version());
-
-  lib->runtime_version = apr_psprintf(pool, "%d.%d.%d",
-                                      lz4_version / 100 / 100,
-                                      (lz4_version / 100) % 100,
-                                      lz4_version % 100);
+  {
+    svn_version_ext_linked_lib_t *lib = apr_array_push(array);
+    lib->name = "Utf8proc";
+    lib->compiled_version =
+        apr_pstrdup(pool, svn_utf__utf8proc_compiled_version());
+    lib->runtime_version =
+        apr_pstrdup(pool, svn_utf__utf8proc_runtime_version());
+  }
+
+  {
+    svn_version_ext_linked_lib_t *lib = apr_array_push(array);
+    lib->name = "ZLib";
+    lib->compiled_version = apr_pstrdup(pool, svn_zlib__compiled_version());
+    lib->runtime_version = apr_pstrdup(pool, svn_zlib__runtime_version());
+  }
+
+  {
+    svn_version_ext_linked_lib_t *lib = apr_array_push(array);
+    int lz4_version = svn_lz4__runtime_version();
+    lib->name = "LZ4";
+    lib->compiled_version = apr_pstrdup(pool, svn_lz4__compiled_version());
+
+    lib->runtime_version = apr_psprintf(pool, "%d.%d.%d",
+                                        lz4_version / 100 / 100,
+                                        (lz4_version / 100) % 100,
+                                        lz4_version % 100);
+  }
 
   return array;
 }

Reply via email to