[glib] Remove length parameter for g_settings_[gs]et_strv



commit bf9edb5cd5a75a4bc9946f0ef106c3d541fdb89f
Author: Milan Bouchet-Valat <nalimilan club fr>
Date:   Tue Jun 1 23:16:19 2010 +0200

    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 9509341..66ff7c4 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 440ce03..8f0c0a5 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);



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