Merge lp:~kvalo/indicator-network/gdbus-cellular-crash into lp:~indicator-applet-developers/indicator-network/indicator-network

Proposed by Kalle Valo on 2010-12-09
Status: Merged
Merged at revision: 115
Proposed branch: lp:~kvalo/indicator-network/gdbus-cellular-crash
Merge into: lp:~indicator-applet-developers/indicator-network/indicator-network
Diff against target: 107 lines (+29/-11)
1 file modified
src/backend/ofono-manager.c (+29/-11)
To merge this branch: bzr merge lp:~kvalo/indicator-network/gdbus-cellular-crash
Reviewer Review Type Date Requested Status
Conor Curran (community) 2010-12-09 Approve on 2010-12-09
Review via email: mp+43204@code.launchpad.net
To post a comment you must log in.
Conor Curran (cjcurran) wrote :

I thought 'goto's were frowned upon, just stylistic. +1

review: Approve
Kalle Valo (kvalo) wrote :

Conor Curran <email address hidden> writes:

> Review: Approve

Thanks.

> I thought 'goto's were frowned upon, just stylistic. +1

Not everywhere. For example, when exiting a function you can save some
code by using goto. One can consider "goto out" as a sophisticated form
of "return" :)

--
Kalle Valo

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/backend/ofono-manager.c'
2--- src/backend/ofono-manager.c 2010-11-30 10:52:15 +0000
3+++ src/backend/ofono-manager.c 2010-12-09 13:14:44 +0000
4@@ -153,6 +153,17 @@
5 /* sim requires pin now, ask from ui */
6 ask_pin(self, proxy);
7 }
8+
9+ g_variant_unref(parameters);
10+}
11+
12+static void update_sim_property(OfonoManager *self, GDBusProxy *proxy,
13+ const gchar *property, GVariant *value)
14+{
15+ if (g_strcmp0(property, OFONO_PROPERTY_PIN_REQUIRED) == 0)
16+ update_pin_required(self, proxy, value);
17+ else
18+ g_variant_unref(value);
19 }
20
21 /* callee owns parameters variant */
22@@ -162,10 +173,10 @@
23 GVariant *value;
24 gchar *name;
25
26- g_variant_get(parameters, "{sv}", &name, &value);
27+ g_variant_get(parameters, "(sv)", &name, &value);
28
29- if (g_strcmp0(name, OFONO_PROPERTY_PIN_REQUIRED) == 0)
30- update_pin_required(self, proxy, value);
31+ /* callee takes the ownership of the value */
32+ update_sim_property(self, proxy, name, value);
33
34 g_free(name);
35 }
36@@ -178,17 +189,20 @@
37 GVariant *result, *value, *dict;
38 GVariantIter iter, dict_iter;
39 GError *error = NULL;
40+ gchar *name;
41
42 result = g_dbus_proxy_call_finish(proxy, res, &error);
43
44 if (error != NULL) {
45- g_warning("Failed to get ofono proxy: %s", error->message);
46+ g_warning("Failed to get sim properties from %s: %s",
47+ g_dbus_proxy_get_object_path(proxy), error->message);
48 g_error_free(error);
49 goto out;
50 }
51
52 if (result == NULL) {
53- g_warning("Failed to get ofono proxy, but no errors");
54+ g_warning("Failed to get sim properties from %s, but no errors",
55+ g_dbus_proxy_get_object_path(proxy));
56 goto out;
57 }
58
59@@ -200,10 +214,11 @@
60
61 g_variant_iter_init(&dict_iter, dict);
62
63- while ((value = g_variant_iter_next_value(&dict_iter)) != NULL) {
64- sim_property_changed(self, proxy, value);
65+ while (g_variant_iter_next(&dict_iter, "{sv}", &name, &value)) {
66+ /* callee owns the variant now */
67+ update_sim_property(self, proxy, name, value);
68
69- g_variant_unref(value);
70+ g_free(name);
71 }
72
73 g_variant_unref(result);
74@@ -312,6 +327,7 @@
75 path = g_dbus_proxy_get_object_path(proxy);
76
77 g_variant_iter_init(&iter, variant);
78+ found = FALSE;
79
80 while (g_variant_iter_next(&iter, "s", &interface)) {
81 if (g_strcmp0(interface, OFONO_SIM_INTERFACE) == 0)
82@@ -336,7 +352,7 @@
83 g_variant_get(parameters, "(sv)", &name, &value);
84
85 if (g_strcmp0(name, OFONO_PROPERTY_INTERFACES) == 0)
86- update_modem_interfaces(self, proxy, parameters);
87+ update_modem_interfaces(self, proxy, value);
88
89 g_variant_unref(value);
90 g_free(name);
91@@ -355,13 +371,15 @@
92 result = g_dbus_proxy_call_finish(proxy, res, &error);
93
94 if (error != NULL) {
95- g_warning("Failed to get ofono proxy: %s", error->message);
96+ g_warning("Failed to get modem properties from %s: %s",
97+ g_dbus_proxy_get_object_path(proxy), error->message);
98 g_error_free(error);
99 goto out;
100 }
101
102 if (result == NULL) {
103- g_warning("Failed to get ofono proxy, but no errors");
104+ g_warning("Failed to get modem properties from %s, but no errors",
105+ g_dbus_proxy_get_object_path(proxy));
106 goto out;
107 }
108

Subscribers

People subscribed via source and target branches