Remove length parameter for g_settings_[gs]et_strv
authorMilan Bouchet-Valat <nalimilan@club.fr>
Tue, 1 Jun 2010 21:16:19 +0000 (23:16 +0200)
committerRyan Lortie <desrt@desrt.ca>
Wed, 2 Jun 2010 01:54:23 +0000 (03:54 +0200)
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
gio/gsettings.h

index 9509341..66ff7c4 100644 (file)
@@ -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__
index 440ce03..8f0c0a5 100644 (file)
@@ -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);