diff options
| author | Michael Biebl <biebl@debian.org> | 2019-07-31 10:51:42 +0200 |
|---|---|---|
| committer | Michael Biebl <biebl@debian.org> | 2019-07-31 10:51:42 +0200 |
| commit | 2e5fa45ddfbb5cffa1e78221f1cea706e2f298af (patch) | |
| tree | 86f69d36c56de3074280456eddc854a780b8e04b /libnm-core/nm-errors.c | |
| parent | 85563b7fc7ec2cd21e38debb9b28db342e2e8e7c (diff) | |
New upstream version 1.19.90 upstream/1.19.90
Diffstat (limited to 'libnm-core/nm-errors.c')
| -rw-r--r-- | libnm-core/nm-errors.c | 26 |
1 files changed, 10 insertions, 16 deletions
diff --git a/libnm-core/nm-errors.c b/libnm-core/nm-errors.c index beef95c7..d6aa1ed3 100644 --- a/libnm-core/nm-errors.c +++ b/libnm-core/nm-errors.c @@ -1,4 +1,3 @@ -/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ /* * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -39,21 +38,19 @@ register_error_domain (GQuark domain, const char *interface, GType enum_type) { - GEnumClass *enum_class; - GEnumValue *e; - char *error_name; - int i; + nm_auto_unref_gtypeclass GEnumClass *enum_class = g_type_class_ref (enum_type); + guint i; - enum_class = g_type_class_ref (enum_type); for (i = 0; i < enum_class->n_values; i++) { - e = &enum_class->values[i]; - g_assert (strchr (e->value_nick, '-') == NULL); - error_name = g_strdup_printf ("%s.%s", interface, e->value_nick); - g_dbus_error_register_error (domain, e->value, error_name); - g_free (error_name); - } + const GEnumValue *e = &enum_class->values[i]; + char error_name[200]; + + nm_assert (e && e->value_nick && !strchr (e->value_nick, '-')); - g_type_class_unref (enum_class); + nm_sprintf_buf (error_name, "%s.%s", interface, e->value_nick); + if (!g_dbus_error_register_error (domain, e->value, error_name)) + nm_assert_not_reached (); + } } void @@ -77,9 +74,6 @@ _nm_dbus_errors_init (void) register_error_domain (NM_SETTINGS_ERROR, NM_DBUS_INTERFACE_SETTINGS, NM_TYPE_SETTINGS_ERROR); - register_error_domain (NM_SETTINGS_ERROR, - NM_DBUS_INTERFACE_SETTINGS, - NM_TYPE_SETTINGS_ERROR); register_error_domain (NM_VPN_PLUGIN_ERROR, NM_DBUS_VPN_ERROR_PREFIX, NM_TYPE_VPN_PLUGIN_ERROR); |