diff options
author | Jiří Klimeš <jklimes@redhat.com> | 2014-09-08 14:28:54 +0200 |
---|---|---|
committer | Jiří Klimeš <jklimes@redhat.com> | 2014-09-08 17:25:14 +0200 |
commit | 22164ec2c8ad0f7b6e6d0a3727491720e45e0a59 (patch) | |
tree | fb8498166f41987f0d8041cfaa94b73053036100 | |
parent | ac46435f2c7bb205a66d8bb5947f8387a85afd33 (diff) | |
download | NetworkManager-jk/dcb-gvalue-fix.tar.gz |
libnm-core: fix DCB's _nm_setting_dcb_uint_array_from_dbus()jk/dcb-gvalue-fix
-rw-r--r-- | libnm-core/nm-setting-dcb.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/libnm-core/nm-setting-dcb.c b/libnm-core/nm-setting-dcb.c index 1c8bf03a22..7a4243004b 100644 --- a/libnm-core/nm-setting-dcb.c +++ b/libnm-core/nm-setting-dcb.c @@ -752,7 +752,7 @@ nm_setting_dcb_init (NMSettingDcb *setting) G_STATIC_ASSERT (sizeof (guint) == sizeof (gboolean)); static inline void -set_uint_array (const GValue *v, uint *a, size_t len) +set_array_from_gvalue (const GValue *v, uint *a, size_t len) { GArray *src = g_value_get_boxed (v); const guint total_len = len * sizeof (a[0]); @@ -764,18 +764,18 @@ set_uint_array (const GValue *v, uint *a, size_t len) memcpy (a, src->data, total_len); } } -#define SET_UINT_ARRAY(v, a) set_uint_array (v, a, G_N_ELEMENTS (a)) +#define SET_UINT_ARRAY(v, a) set_array_from_gvalue (v, a, G_N_ELEMENTS (a)) static inline void -take_uint_array (GValue *v, uint *a, size_t len) +set_gvalue_from_array (GValue *v, uint *a, size_t len) { - GArray *dst = g_array_sized_new (FALSE, TRUE, sizeof (guint), len); + GArray *src = g_array_sized_new (FALSE, TRUE, sizeof (guint), len); - g_array_append_vals (dst, a, len); - g_value_take_boxed (v, dst); + g_array_append_vals (src, a, len); + g_value_take_boxed (v, src); } -#define TAKE_UINT_ARRAY(v, a) take_uint_array (v, a, G_N_ELEMENTS (a)) +#define TAKE_UINT_ARRAY(v, a) set_gvalue_from_array (v, a, G_N_ELEMENTS (a)) static void _nm_setting_dcb_uint_array_to_dbus (const GValue *prop_value, @@ -783,7 +783,7 @@ _nm_setting_dcb_uint_array_to_dbus (const GValue *prop_value, { GArray *src = g_value_get_boxed (prop_value); - take_uint_array (dbus_value, (guint *) src->data, src->len); + set_gvalue_from_array (dbus_value, (guint *) src->data, src->len); } static void @@ -792,7 +792,8 @@ _nm_setting_dcb_uint_array_from_dbus (const GValue *dbus_value, { GArray *src = g_value_get_boxed (dbus_value); - set_uint_array (prop_value, (guint *) src->data, src->len); + set_gvalue_from_array (prop_value, (guint *) src->data, src->len); + } static void |