From 68d78d8abeb7f8bd4384f5ef93c71372fd707b26 Mon Sep 17 00:00:00 2001
From: Simon McVittie <smcv@collabora.com>
Date: Thu, 30 Jan 2025 19:08:25 +0000
Subject: [PATCH] PvAdverbPreloadModule: Add initializer and g_auto
 implementation

This is a useful thing to have if we might ever want a
PvAdverbPreloadModule on the stack.

Signed-off-by: Simon McVittie <smcv@collabora.com>
---
 pressure-vessel/adverb-preload.h | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/pressure-vessel/adverb-preload.h b/pressure-vessel/adverb-preload.h
index 531661781..3f6ca1f59 100644
--- a/pressure-vessel/adverb-preload.h
+++ b/pressure-vessel/adverb-preload.h
@@ -28,14 +28,25 @@ typedef struct
   gsize abi_index;
 } PvAdverbPreloadModule;
 
+#define PV_ADVERB_PRELOAD_MODULE_INIT \
+{ \
+  .name = NULL, \
+  .index_in_preload_variables = 0, \
+  .abi_index = PV_UNSPECIFIED_ABI, \
+}
+
 static inline void
 pv_adverb_preload_module_clear (gpointer p)
 {
   PvAdverbPreloadModule *self = p;
+  PvAdverbPreloadModule blank = PV_ADVERB_PRELOAD_MODULE_INIT;
 
   g_free (self->name);
+  *self = blank;
 }
 
+G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC (PvAdverbPreloadModule, pv_adverb_preload_module_clear)
+
 gboolean pv_adverb_set_up_preload_modules (FlatpakBwrap *wrapped_command,
                                            PvPerArchDirs *lib_temp_dirs,
                                            const PvAdverbPreloadModule *preload_modules,
-- 
GitLab