summaryrefslogtreecommitdiff
path: root/src/libnmc-base
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2021-04-27 09:18:00 +0200
committerThomas Haller <thaller@redhat.com>2021-05-03 10:11:20 +0200
commit1f33a59a0f075a7121c773c2b4e318599d3e64a4 (patch)
tree156e15987c28bf12e9aa03c3f583e9e02a769e38 /src/libnmc-base
parentbf6214ef3250df39de412892b8d7f6d2933aa097 (diff)
downloadNetworkManager-1f33a59a0f075a7121c773c2b4e318599d3e64a4.tar.gz
cli: use const argument for nmc_string_is_valid()
With a const argument, we can make variables static const, which means the linker loads the memory as read only. Also, use NM_CAST_STRV_CC() macro, which casts the argument accordingly.
Diffstat (limited to 'src/libnmc-base')
-rw-r--r--src/libnmc-base/nm-client-utils.c10
-rw-r--r--src/libnmc-base/nm-client-utils.h5
2 files changed, 9 insertions, 6 deletions
diff --git a/src/libnmc-base/nm-client-utils.c b/src/libnmc-base/nm-client-utils.c
index 701f8e1834..f18408e818 100644
--- a/src/libnmc-base/nm-client-utils.c
+++ b/src/libnmc-base/nm-client-utils.c
@@ -175,12 +175,12 @@ nmc_string_to_ternary(const char *str, NMTernary *val, GError **error)
* On failure: error->code : 0 - string not found; 1 - string is ambiguous
*/
const char *
-nmc_string_is_valid(const char *input, const char **allowed, GError **error)
+_nmc_string_is_valid(const char *input, const char *const *allowed, GError **error)
{
- const char **p;
- size_t input_ln, p_len;
- const char * partial_match = NULL;
- gboolean ambiguous = FALSE;
+ const char *const *p;
+ size_t input_ln, p_len;
+ const char * partial_match = NULL;
+ gboolean ambiguous = FALSE;
g_return_val_if_fail(!error || !*error, NULL);
diff --git a/src/libnmc-base/nm-client-utils.h b/src/libnmc-base/nm-client-utils.h
index 7017e39a75..0fcc06582d 100644
--- a/src/libnmc-base/nm-client-utils.h
+++ b/src/libnmc-base/nm-client-utils.h
@@ -12,7 +12,10 @@
const NMObject **nmc_objects_sort_by_path(const NMObject *const *objs, gssize len);
-const char *nmc_string_is_valid(const char *input, const char **allowed, GError **error);
+const char *_nmc_string_is_valid(const char *input, const char *const *allowed, GError **error);
+
+#define nmc_string_is_valid(input, allowed, error) \
+ _nmc_string_is_valid((input), NM_CAST_STRV_CC(allowed), (error))
gboolean nmc_string_to_uint(const char * str,
gboolean range_check,