From 5b2d0f0f9f3f0477f7409ac374858ae1cd52b092 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Thu, 18 Apr 2019 08:16:27 +0200 Subject: [PATCH] cli: use "escaped-tokens" style for splitting "vlan.xgress-priority-map" list There should be little difference here, because the priority list is (and was) never serialized with special characters like backslashes or delimiters that require escaping. Likewise, no working code actually tried to set such characters. Still, drop the plain VALUE_STRSPLIT_MODE_STRIPPED and use VALUE_STRSPLIT_MODE_ESCAPED_TOKENS_WITH_SPACES instead. We should have a small set of modes that we use for splitting strings. (cherry picked from commit 7f01da917ef866c5976c359375e26c6aa33206cc) --- clients/common/nm-meta-setting-desc.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/clients/common/nm-meta-setting-desc.c b/clients/common/nm-meta-setting-desc.c index 53a945c827..ffaf60714c 100644 --- a/clients/common/nm-meta-setting-desc.c +++ b/clients/common/nm-meta-setting-desc.c @@ -172,7 +172,6 @@ _value_str_as_index_list (const char *value, gsize *out_len) #define ESCAPED_TOKENS_DELIMITERS "," typedef enum { - VALUE_STRSPLIT_MODE_STRIPPED, VALUE_STRSPLIT_MODE_OBJLIST, VALUE_STRSPLIT_MODE_MULTILIST, VALUE_STRSPLIT_MODE_ESCAPED_TOKENS, @@ -194,10 +193,6 @@ _value_strsplit (const char *value, /* note that all modes remove empty tokens (",", "a,,b", ",,"). */ switch (split_mode) { - case VALUE_STRSPLIT_MODE_STRIPPED: - strv = nm_utils_strsplit_set (value, ESCAPED_TOKENS_WITH_SPACES_DELIMTERS); - NM_SET_OUT (out_len, NM_PTRARRAY_LEN (strv)); - return g_steal_pointer (&strv); case VALUE_STRSPLIT_MODE_OBJLIST: strv = nm_utils_strsplit_set (value, ESCAPED_TOKENS_DELIMITERS); break; @@ -3860,7 +3855,7 @@ _get_fcn_vlan_xgress_priority_map (ARGS_GET_FCN) if (!str) str = g_string_new (NULL); else - g_string_append_c (str, ','); + g_string_append_c (str, ESCAPED_TOKENS_WITH_SPACES_DELIMTER); g_string_append_printf (str, "%d:%d", from, to); } @@ -3882,7 +3877,7 @@ _set_fcn_vlan_xgress_priority_map (ARGS_SET_FCN) return TRUE; } - prio_map = _value_strsplit (value, VALUE_STRSPLIT_MODE_STRIPPED, &len); + prio_map = _value_strsplit (value, VALUE_STRSPLIT_MODE_ESCAPED_TOKENS_WITH_SPACES, &len); for (i = 0; i < len; i++) { if (!nm_utils_vlan_priority_map_parse_str (map_type,