[gtk+/gtk-3-22] gtk/queryimmodules.c: Make the output deterministic.
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/gtk-3-22] gtk/queryimmodules.c: Make the output deterministic.
- Date: Wed, 17 Jan 2018 03:39:14 +0000 (UTC)
commit 6b85162f4342a0b7e09fa9e3ebd059b948a90cab
Author: Chris Lamb <chris chris-lamb co uk>
Date: Fri Aug 25 16:24:38 2017 +0100
gtk/queryimmodules.c: Make the output deterministic.
Whilst working on the Reproducible Builds effort [0], we noticed that
queryimmodules generates non-reproducible output as it iterates over the
filesystem without sorting.
Patch attached.
[0] https://reproducible-builds.org/
Signed-off-by: Chris Lamb <lamby debian org>
https://bugzilla.gnome.org/show_bug.cgi?id=786528
gtk/queryimmodules.c | 10 ++++++++--
1 files changed, 8 insertions(+), 2 deletions(-)
---
diff --git a/gtk/queryimmodules.c b/gtk/queryimmodules.c
index e9978fd..96b64c7 100644
--- a/gtk/queryimmodules.c
+++ b/gtk/queryimmodules.c
@@ -200,13 +200,19 @@ G_GNUC_END_IGNORE_DEPRECATIONS
if (dir)
{
const char *dent;
+ GList *list = NULL, *iterator = NULL;
while ((dent = g_dir_read_name (dir)))
+ list = g_list_prepend (list, g_strdup (dent));
+
+ list = g_list_sort (list, (GCompareFunc) strcmp);
+ for (iterator = list; iterator; iterator = iterator->next)
{
- if (g_str_has_suffix (dent, SOEXT))
- error |= query_module (dirs[i], dent, contents);
+ if (g_str_has_suffix (iterator->data, SOEXT))
+ error |= query_module (dirs[i], iterator->data, contents);
}
+ g_list_free_full (list, g_free);
g_dir_close (dir);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]