diff options
author | Thomas Haller <thaller@redhat.com> | 2019-05-27 16:16:41 +0200 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2019-06-13 16:10:53 +0200 |
commit | 6da5ad29623b58ff6d77202c86e7fc11842b35f7 (patch) | |
tree | 3cf04a3ffab31cb487d35ae81b984dd8dc9aee33 | |
parent | c165c6a671f03a2e48549f247435d953710ce7dc (diff) | |
download | NetworkManager-6da5ad29623b58ff6d77202c86e7fc11842b35f7.tar.gz |
libnm: cleanup GSList/GPtrArray to/from strv conversion
-rw-r--r-- | libnm-core/nm-core-internal.h | 4 | ||||
-rw-r--r-- | libnm-core/nm-utils.c | 54 |
2 files changed, 35 insertions, 23 deletions
diff --git a/libnm-core/nm-core-internal.h b/libnm-core/nm-core-internal.h index a5114ba8d8..406b170e15 100644 --- a/libnm-core/nm-core-internal.h +++ b/libnm-core/nm-core-internal.h @@ -276,10 +276,10 @@ GPtrArray *_nm_utils_copy_object_array (const GPtrArray *array); gssize _nm_utils_ptrarray_find_first (gconstpointer *list, gssize len, gconstpointer needle); GSList * _nm_utils_strv_to_slist (char **strv, gboolean deep_copy); -char ** _nm_utils_slist_to_strv (GSList *slist, gboolean deep_copy); +char ** _nm_utils_slist_to_strv (const GSList *slist, gboolean deep_copy); GPtrArray * _nm_utils_strv_to_ptrarray (char **strv); -char ** _nm_utils_ptrarray_to_strv (GPtrArray *ptrarray); +char ** _nm_utils_ptrarray_to_strv (const GPtrArray *ptrarray); gboolean _nm_utils_check_file (const char *filename, gint64 check_owner, diff --git a/libnm-core/nm-utils.c b/libnm-core/nm-utils.c index dc0b5b814e..31ef2978a1 100644 --- a/libnm-core/nm-utils.c +++ b/libnm-core/nm-utils.c @@ -955,43 +955,51 @@ _nm_utils_bytes_from_dbus (GVariant *dbus_value, g_value_take_boxed (prop_value, bytes); } +/*****************************************************************************/ + GSList * _nm_utils_strv_to_slist (char **strv, gboolean deep_copy) { - int i; GSList *list = NULL; + gsize i; - if (strv) { - if (deep_copy) { - for (i = 0; strv[i]; i++) - list = g_slist_prepend (list, g_strdup (strv[i])); - } else { - for (i = 0; strv[i]; i++) - list = g_slist_prepend (list, strv[i]); - } - } + if (!strv) + return NULL; + if (deep_copy) { + for (i = 0; strv[i]; i++) + list = g_slist_prepend (list, g_strdup (strv[i])); + } else { + for (i = 0; strv[i]; i++) + list = g_slist_prepend (list, strv[i]); + } return g_slist_reverse (list); } char ** -_nm_utils_slist_to_strv (GSList *slist, gboolean deep_copy) +_nm_utils_slist_to_strv (const GSList *slist, gboolean deep_copy) { - GSList *iter; + const GSList *iter; char **strv; - int len, i; + guint len, i; - len = g_slist_length (slist); - if (!len) + if (!slist) return NULL; + + len = g_slist_length ((GSList *) slist); + strv = g_new (char *, len + 1); if (deep_copy) { - for (i = 0, iter = slist; iter; iter = iter->next, i++) + for (i = 0, iter = slist; iter; iter = iter->next, i++) { + nm_assert (iter->data); strv[i] = g_strdup (iter->data); + } } else { - for (i = 0, iter = slist; iter; iter = iter->next, i++) + for (i = 0, iter = slist; iter; iter = iter->next, i++) { + nm_assert (iter->data); strv[i] = iter->data; + } } strv[i] = NULL; @@ -1002,9 +1010,11 @@ GPtrArray * _nm_utils_strv_to_ptrarray (char **strv) { GPtrArray *ptrarray; - int i; + gsize i, l; + + l = NM_PTRARRAY_LEN (strv); - ptrarray = g_ptr_array_new_with_free_func (g_free); + ptrarray = g_ptr_array_new_full (l, g_free); if (strv) { for (i = 0; strv[i]; i++) @@ -1015,10 +1025,10 @@ _nm_utils_strv_to_ptrarray (char **strv) } char ** -_nm_utils_ptrarray_to_strv (GPtrArray *ptrarray) +_nm_utils_ptrarray_to_strv (const GPtrArray *ptrarray) { char **strv; - int i; + guint i; if (!ptrarray) return g_new0 (char *, 1); @@ -1032,6 +1042,8 @@ _nm_utils_ptrarray_to_strv (GPtrArray *ptrarray) return strv; } +/*****************************************************************************/ + static gboolean device_supports_ap_ciphers (guint32 dev_caps, guint32 ap_flags, |