diff --git a/clients/cli/common.c b/clients/cli/common.c index 93defe652e..15cc430571 100644 --- a/clients/cli/common.c +++ b/clients/cli/common.c @@ -1277,7 +1277,7 @@ call_cmd (NmCli *nmc, GTask *task, const NMCCommand *cmd, int argc, const char * *call = (CmdCall) { .cmd = cmd, .argc = argc, - .argv = nm_utils_strv_dup ((char **) argv, argc, TRUE), + .argv = nm_utils_strv_dup (argv, argc, TRUE), .task = task, }; nmc_client_new_async (NULL, diff --git a/clients/cli/connections.c b/clients/cli/connections.c index b8b995f901..9ff6a393ec 100644 --- a/clients/cli/connections.c +++ b/clients/cli/connections.c @@ -8913,7 +8913,7 @@ do_connection_load (const NMCCommand *cmd, NmCli *nmc, int argc, const char *con return; } - filenames = (const char **) nm_utils_strv_dup ((char **) argv, argc, FALSE); + filenames = (const char **) nm_utils_strv_dup (argv, argc, FALSE); nm_client_load_connections (nmc->client, (char **) filenames, &failures, NULL, &error); if (error) { diff --git a/clients/cli/devices.c b/clients/cli/devices.c index b44a47cd1f..4abbc2d488 100644 --- a/clients/cli/devices.c +++ b/clients/cli/devices.c @@ -2378,7 +2378,7 @@ do_device_modify (const NMCCommand *cmd, NmCli *nmc, int argc, const char *const *info = (ModifyInfo) { .nmc = nmc, .argc = argc, - .argv = nm_utils_strv_dup ((char **) argv, argc, TRUE), + .argv = nm_utils_strv_dup (argv, argc, TRUE), }; nm_device_get_applied_connection_async (device, 0, NULL, modify_get_applied_cb, info); diff --git a/libnm-core/nm-setting-wireless.c b/libnm-core/nm-setting-wireless.c index 39bcda6813..a7cb2d9aaa 100644 --- a/libnm-core/nm-setting-wireless.c +++ b/libnm-core/nm-setting-wireless.c @@ -1106,7 +1106,7 @@ get_property (GObject *object, guint prop_id, case PROP_SEEN_BSSIDS: g_value_take_boxed (value, priv->seen_bssids - ? nm_utils_strv_dup (priv->seen_bssids->pdata, + ? nm_utils_strv_dup ((char **) priv->seen_bssids->pdata, priv->seen_bssids->len, TRUE) : NULL); diff --git a/libnm/nm-ip-config.c b/libnm/nm-ip-config.c index f214cdc43b..2be7762025 100644 --- a/libnm/nm-ip-config.c +++ b/libnm/nm-ip-config.c @@ -189,7 +189,7 @@ next: } if ( arr && arr->len > 0) - nameservers_new = nm_utils_strv_dup (arr->pdata, arr->len, FALSE); + nameservers_new = nm_utils_strv_dup ((char **) arr->pdata, arr->len, FALSE); else nameservers_new = g_new0 (char *, 1); } diff --git a/shared/nm-glib-aux/nm-shared-utils.c b/shared/nm-glib-aux/nm-shared-utils.c index f20f656a40..704ee089a9 100644 --- a/shared/nm-glib-aux/nm-shared-utils.c +++ b/shared/nm-glib-aux/nm-shared-utils.c @@ -3384,16 +3384,15 @@ nm_utils_strv_make_deep_copied_n (const char **strv, gsize len) * cloned or not. */ char ** -nm_utils_strv_dup (gpointer strv, - gssize len, - gboolean deep_copied) +_nm_utils_strv_dup (const char *const*strv, + gssize len, + gboolean deep_copied) { gsize i, l; char **v; - const char *const *const src = strv; if (len < 0) - l = NM_PTRARRAY_LEN (src); + l = NM_PTRARRAY_LEN (strv); else l = len; if (l == 0) { @@ -3405,7 +3404,7 @@ nm_utils_strv_dup (gpointer strv, v = g_new (char *, l + 1); for (i = 0; i < l; i++) { - if (G_UNLIKELY (!src[i])) { + if (G_UNLIKELY (!strv[i])) { /* NULL strings are not allowed. Clear the remainder of the array * and return it (with assertion failure). */ l++; @@ -3415,9 +3414,9 @@ nm_utils_strv_dup (gpointer strv, } if (deep_copied) - v[i] = g_strdup (src[i]); + v[i] = g_strdup (strv[i]); else - v[i] = (char *) src[i]; + v[i] = (char *) strv[i]; } v[l] = NULL; return v; diff --git a/shared/nm-glib-aux/nm-shared-utils.h b/shared/nm-glib-aux/nm-shared-utils.h index a097a690c8..f7788d9c08 100644 --- a/shared/nm-glib-aux/nm-shared-utils.h +++ b/shared/nm-glib-aux/nm-shared-utils.h @@ -1527,9 +1527,11 @@ nm_utils_strv_make_deep_copied_nonnull (const char **strv) return nm_utils_strv_make_deep_copied (strv) ?: g_new0 (char *, 1); } -char **nm_utils_strv_dup (gpointer strv, - gssize len, - gboolean deep_copied); +char **_nm_utils_strv_dup (const char *const*strv, + gssize len, + gboolean deep_copied); + +#define nm_utils_strv_dup(strv, len, deep_copied) _nm_utils_strv_dup (NM_CAST_STRV_CC (strv), (len), (deep_copied)) /*****************************************************************************/