diff options
author | Frederic Martinsons <frederic.martinsons@sigfox.com> | 2021-11-18 08:59:43 +0100 |
---|---|---|
committer | Frederic Martinsons <frederic.martinsons@sigfox.com> | 2021-11-18 08:59:55 +0100 |
commit | 296a8c652206af7f2d65f72eb84af7b5bfa88d94 (patch) | |
tree | ab15ac00e7bb2cf698ab477409dd21ab2ffce8b1 /gio/gsettings-tool.c | |
parent | 30c3f0553234db287acffcf008076616afb18078 (diff) | |
download | glib-296a8c652206af7f2d65f72eb84af7b5bfa88d94.tar.gz |
Sort output of gsettings command-line tool
Closes #1781
Signed-off-by: Frederic Martinsons <frederic.martinsons@sigfox.com>
Diffstat (limited to 'gio/gsettings-tool.c')
-rw-r--r-- | gio/gsettings-tool.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/gio/gsettings-tool.c b/gio/gsettings-tool.c index 7559a6b1b..0c7763a39 100644 --- a/gio/gsettings-tool.c +++ b/gio/gsettings-tool.c @@ -112,11 +112,19 @@ check_path (const gchar *path) return TRUE; } +static int +qsort_cmp (const void *a, + const void *b) +{ + return g_strcmp0 (*(gchar* const*)a, *(gchar* const*)b); +} + static void output_list (gchar **list) { gint i; + qsort (list, g_strv_length (list), sizeof (gchar*), qsort_cmp); for (i = 0; list[i]; i++) g_print ("%s\n", list[i]); } @@ -195,6 +203,7 @@ gsettings_list_children (void) gint i; children = g_settings_list_children (global_settings); + qsort (children, g_strv_length (children), sizeof (gchar*), qsort_cmp); for (i = 0; children[i]; i++) { gsize len = strlen (children[i]); @@ -239,6 +248,7 @@ enumerate (GSettings *settings) g_object_get (settings, "settings-schema", &schema, NULL); keys = g_settings_schema_list_keys (schema); + qsort (keys, g_strv_length (keys), sizeof (gchar*), qsort_cmp); for (i = 0; keys[i]; i++) { GVariant *value; @@ -263,6 +273,7 @@ list_recursively (GSettings *settings) enumerate (settings); children = g_settings_list_children (settings); + qsort (children, g_strv_length (children), sizeof (gchar*), qsort_cmp); for (i = 0; children[i]; i++) { gboolean will_see_elsewhere = FALSE; @@ -306,6 +317,7 @@ gsettings_list_recursively (void) gint i; g_settings_schema_source_list_schemas (global_schema_source, TRUE, &schemas, NULL); + qsort (schemas, g_strv_length (schemas), sizeof (gchar*), qsort_cmp); for (i = 0; schemas[i]; i++) { |