From bf9edb5cd5a75a4bc9946f0ef106c3d541fdb89f Mon Sep 17 00:00:00 2001 From: Milan Bouchet-Valat Date: Tue, 1 Jun 2010 23:16:19 +0200 Subject: [PATCH] Remove length parameter for g_settings_[gs]et_strv Length of the array is redundant since it's NULL-terminated. This is not consistent with many GLib and GTK+ functions, and adds complexity with no real gain, while these convenience functions should be kept simple. Closes bug #620312 --- gio/gsettings.c | 12 ++++-------- gio/gsettings.h | 6 ++---- 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/gio/gsettings.c b/gio/gsettings.c index 950934152..66ff7c4e6 100644 --- a/gio/gsettings.c +++ b/gio/gsettings.c @@ -1804,7 +1804,6 @@ g_settings_set_boolean (GSettings *settings, * g_settings_get_strv: * @settings: a #GSettings object * @key: the key to get the value for - * @length: return location for the length of the result, or %NULL * @returns: a newly-allocated, %NULL-terminated array of strings * * Gets the value that is stored at @key in @settings. @@ -1818,14 +1817,13 @@ g_settings_set_boolean (GSettings *settings, */ gchar ** g_settings_get_strv (GSettings *settings, - const gchar *key, - gsize *length) + const gchar *key) { GVariant *value; gchar **result; value = g_settings_get_value (settings, key); - result = g_variant_dup_strv (value, length); + result = g_variant_dup_strv (value, NULL); g_variant_unref (value); return result; @@ -1836,7 +1834,6 @@ g_settings_get_strv (GSettings *settings, * @settings: a #GSettings object * @key: the name of the key to set * @value: the value to set it to - * @length: the length of the @value array, or -1 * @returns: %TRUE if setting the key succeeded, * %FALSE if the key was not writable * @@ -1852,10 +1849,9 @@ g_settings_get_strv (GSettings *settings, gboolean g_settings_set_strv (GSettings *settings, const gchar *key, - const gchar * const *value, - gssize length) + const gchar * const *value) { - return g_settings_set_value (settings, key, g_variant_new_strv (value, length)); + return g_settings_set_value (settings, key, g_variant_new_strv (value, -1)); } #define __G_SETTINGS_C__ diff --git a/gio/gsettings.h b/gio/gsettings.h index 440ce03d3..8f0c0a565 100644 --- a/gio/gsettings.h +++ b/gio/gsettings.h @@ -113,12 +113,10 @@ gboolean g_settings_set_double (GSettin const gchar *key, gdouble value); gchar ** g_settings_get_strv (GSettings *settings, - const gchar *key, - gsize *length); + const gchar *key); gboolean g_settings_set_strv (GSettings *settings, const gchar *key, - const gchar *const *value, - gssize length); + const gchar *const *value); GSettings * g_settings_get_child (GSettings *settings, const gchar *name);