[gnome-control-center] printers: Replace g_variant_iter_next_value with the simpler g_variant_iter_next



commit 9065850b92b0c23f57509b8c3c1186792b4ed425
Author: Robert Ancell <robert ancell canonical com>
Date:   Thu Nov 21 21:27:30 2019 +1300

    printers: Replace g_variant_iter_next_value with the simpler g_variant_iter_next

 panels/printers/pp-new-printer-dialog.c | 12 +++----
 panels/printers/pp-new-printer.c        | 21 ++++---------
 panels/printers/pp-utils.c              | 56 ++++++---------------------------
 3 files changed, 19 insertions(+), 70 deletions(-)
---
diff --git a/panels/printers/pp-new-printer-dialog.c b/panels/printers/pp-new-printer-dialog.c
index 3ddc85d10..657f45e8a 100644
--- a/panels/printers/pp-new-printer-dialog.c
+++ b/panels/printers/pp-new-printer-dialog.c
@@ -916,24 +916,20 @@ group_physical_devices_dbus_cb (GObject      *source_object,
           GVariantIter *iter;
           GVariantIter *subiter;
           GVariant     *item;
-          GVariant     *subitem;
-          gchar        *device_uri;
 
           result = g_new0 (gchar **, g_variant_n_children (array) + 1);
           g_variant_get (array, "aas", &iter);
           i = 0;
           while ((item = g_variant_iter_next_value (iter)))
             {
+              const gchar *device_uri;
+
               result[i] = g_new0 (gchar *, g_variant_n_children (item) + 1);
               g_variant_get (item, "as", &subiter);
               j = 0;
-              while ((subitem = g_variant_iter_next_value (subiter)))
+              while (g_variant_iter_next (subiter, "&s", &device_uri))
                 {
-                  g_variant_get (subitem, "s", &device_uri);
-
-                  result[i][j] = device_uri;
-
-                  g_variant_unref (subitem);
+                  result[i][j] = g_strdup (device_uri);
                   j++;
                 }
 
diff --git a/panels/printers/pp-new-printer.c b/panels/printers/pp-new-printer.c
index bcd4c2d5c..b9d734afd 100644
--- a/panels/printers/pp-new-printer.c
+++ b/panels/printers/pp-new-printer.c
@@ -484,16 +484,14 @@ get_ppd_item_from_output (GVariant *output)
       if (array)
         {
           GVariantIter *iter;
-          GVariant     *item;
 
           for (j = 0; j < G_N_ELEMENTS (match_levels) && !ppd_item; j++)
             {
+              const gchar *driver, *match;
+
               g_variant_get (array, "a(ss)", &iter);
-              while ((item = g_variant_iter_next_value (iter)) && !ppd_item)
+              while (g_variant_iter_next (iter, "(&s&s)", &driver, &match) && !ppd_item)
                 {
-                  const gchar *driver, *match;
-
-                  g_variant_get (item, "(&s&s)", &driver, &match);
                   if (g_str_equal (match, match_levels[j]))
                     {
                       ppd_item = g_new0 (PPDName, 1);
@@ -510,8 +508,6 @@ get_ppd_item_from_output (GVariant *output)
                       else if (g_strcmp0 (match, "none") == 0)
                         ppd_item->ppd_match_level = PPD_NO_MATCH;
                     }
-
-                  g_variant_unref (item);
                 }
             }
 
@@ -1040,16 +1036,11 @@ get_missing_executables_cb (GObject      *source_object,
       if (array)
         {
           GVariantIter *iter;
-          GVariant     *item;
-          gchar        *executable;
+          const gchar  *executable;
 
           g_variant_get (array, "as", &iter);
-          while ((item = g_variant_iter_next_value (iter)))
-            {
-              g_variant_get (item, "s", &executable);
-              executables = g_list_append (executables, executable);
-              g_variant_unref (item);
-            }
+          while (g_variant_iter_next (iter, "&s", &executable))
+            executables = g_list_append (executables, g_strdup (executable));
 
           g_variant_unref (array);
         }
diff --git a/panels/printers/pp-utils.c b/panels/printers/pp-utils.c
index 5320903e6..3309f30d5 100644
--- a/panels/printers/pp-utils.c
+++ b/panels/printers/pp-utils.c
@@ -1935,23 +1935,17 @@ get_ppd_names_async_dbus_scb (GObject      *source_object,
       if (array)
         {
           GVariantIter *iter;
-          GVariant     *item;
 
           for (j = 0; j < G_N_ELEMENTS (match_levels) && n < data->count; j++)
             {
+              const gchar *driver, *match;
+
               g_variant_get (array,
                              "a(ss)",
                              &iter);
 
-              while ((item = g_variant_iter_next_value (iter)))
+              while (g_variant_iter_next (iter, "(&s&s)", &driver, &match))
                 {
-                  const gchar *driver, *match;
-
-                  g_variant_get (item,
-                                 "(&s&s)",
-                                 &driver,
-                                 &match);
-
                   if (g_str_equal (match, match_levels[j]) && n < data->count)
                     {
                       ppd_item = g_new0 (PPDName, 1);
@@ -1972,8 +1966,6 @@ get_ppd_names_async_dbus_scb (GObject      *source_object,
 
                       n++;
                     }
-
-                  g_variant_unref (item);
                 }
             }
 
@@ -2172,26 +2164,19 @@ get_device_attributes_async_dbus_cb (GObject      *source_object,
       if (devices_variant)
         {
           GVariantIter *iter;
-          GVariant     *item;
           gint          index = -1;
 
           if (data->device_uri)
             {
+              const gchar *key, *value;
               g_autofree gchar *suffix = NULL;
 
               g_variant_get (devices_variant,
                              "a{ss}",
                              &iter);
 
-              while ((item = g_variant_iter_next_value (iter)))
+              while (g_variant_iter_next (iter, "{&s&s}", &key, &value))
                 {
-                  const gchar *key, *value;
-
-                  g_variant_get (item,
-                                 "{&s&s}",
-                                 &key,
-                                 &value);
-
                   if (g_str_equal (value, data->device_uri))
                     {
                       gchar *number = g_strrstr (key, ":");
@@ -2205,8 +2190,6 @@ get_device_attributes_async_dbus_cb (GObject      *source_object,
                             index = -1;
                         }
                     }
-
-                  g_variant_unref (item);
                 }
 
               suffix = g_strdup_printf (":%d", index);
@@ -2215,15 +2198,8 @@ get_device_attributes_async_dbus_cb (GObject      *source_object,
                              "a{ss}",
                              &iter);
 
-              while ((item = g_variant_iter_next_value (iter)))
+              while (g_variant_iter_next (iter, "{&s&s}", &key, &value))
                 {
-                  const gchar *key, *value;
-
-                  g_variant_get (item,
-                                 "{&s&s}",
-                                 &key,
-                                 &value);
-
                   if (g_str_has_suffix (key, suffix))
                     {
                       if (g_str_has_prefix (key, "device-id"))
@@ -2236,8 +2212,6 @@ get_device_attributes_async_dbus_cb (GObject      *source_object,
                           device_make_and_model = g_strdup (value);
                         }
                     }
-
-                  g_variant_unref (item);
                 }
             }
 
@@ -3333,21 +3307,15 @@ get_cups_devices_async_dbus_cb (GObject      *source_object,
       if (devices_variant)
         {
           GVariantIter *iter;
-          GVariant     *item;
+          const gchar  *key, *value;
           gint          index = -1, max_index = -1, i;
 
           g_variant_get (devices_variant, "a{ss}", &iter);
-          while ((item = g_variant_iter_next_value (iter)))
+          while (g_variant_iter_next (iter, "{&s&s}", &key, &value))
             {
-              const gchar *key, *value;
-
-              g_variant_get (item, "{&s&s}", &key, &value);
-
               index = get_suffix_index (key);
               if (index > max_index)
                 max_index = index;
-
-              g_variant_unref (item);
             }
 
           if (max_index >= 0)
@@ -3356,12 +3324,8 @@ get_cups_devices_async_dbus_cb (GObject      *source_object,
               devices = g_new0 (PpPrintDevice *, num_of_devices);
 
               g_variant_get (devices_variant, "a{ss}", &iter);
-              while ((item = g_variant_iter_next_value (iter)))
+              while (g_variant_iter_next (iter, "{&s&s}", &key, &value))
                 {
-                  const gchar *key, *value;
-
-                  g_variant_get (item, "{&s&s}", &key, &value);
-
                   index = get_suffix_index (key);
                   if (index >= 0)
                     {
@@ -3391,8 +3355,6 @@ get_cups_devices_async_dbus_cb (GObject      *source_object,
 
                       g_object_set (devices[index], "acquisition-method", 
ACQUISITION_METHOD_DEFAULT_CUPS_SERVER, NULL);
                     }
-
-                  g_variant_unref (item);
                 }
 
               for (i = 0; i < num_of_devices; i++)


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