[gnome-builder] libide/foundry: sort environment variables before layer callback



commit 7a8e222bfd30d3b2d564ca27540df63fcf39250d
Author: Christian Hergert <chergert redhat com>
Date:   Fri Jul 22 13:57:11 2022 -0700

    libide/foundry: sort environment variables before layer callback
    
    This just makes it easier to track things down visually when looking at
    tracing output.

 src/libide/foundry/ide-run-context.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)
---
diff --git a/src/libide/foundry/ide-run-context.c b/src/libide/foundry/ide-run-context.c
index 4a205d79a..be049d6b3 100644
--- a/src/libide/foundry/ide-run-context.c
+++ b/src/libide/foundry/ide-run-context.c
@@ -1043,6 +1043,16 @@ ide_run_context_default_handler (IdeRunContext       *self,
   return TRUE;
 }
 
+static int
+sort_strptr (gconstpointer a,
+             gconstpointer b)
+{
+  const char * const *astr = a;
+  const char * const *bstr = b;
+
+  return g_strcmp0 (*astr, *bstr);
+}
+
 static gboolean
 ide_run_context_callback_layer (IdeRunContext       *self,
                                 IdeRunContextLayer  *layer,
@@ -1059,6 +1069,11 @@ ide_run_context_callback_layer (IdeRunContext       *self,
   handler = layer->handler ? layer->handler : ide_run_context_default_handler;
   handler_data = layer->handler ? layer->handler_data : NULL;
 
+  /* Sort environment variables first so that we have an easier time
+   * finding them by eye in tooling which translates them.
+   */
+  g_array_sort (layer->env, sort_strptr);
+
   ret = handler (self,
                  (const char * const *)(gpointer)layer->argv->data,
                  (const char * const *)(gpointer)layer->env->data,


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]