summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/shared/json.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/src/shared/json.c b/src/shared/json.c
index baea31fed9..a068049b57 100644
--- a/src/shared/json.c
+++ b/src/shared/json.c
@@ -3407,7 +3407,7 @@ int json_dispatch_string(const char *name, JsonVariant *variant, JsonDispatchFla
int json_dispatch_strv(const char *name, JsonVariant *variant, JsonDispatchFlags flags, void *userdata) {
_cleanup_strv_free_ char **l = NULL;
char ***s = userdata;
- size_t i;
+ JsonVariant *e;
int r;
assert(variant);
@@ -3421,11 +3421,7 @@ int json_dispatch_strv(const char *name, JsonVariant *variant, JsonDispatchFlags
if (!json_variant_is_array(variant))
return json_log(variant, SYNTHETIC_ERRNO(EINVAL), flags, "JSON field '%s' is not an array.", strna(name));
- for (i = 0; i < json_variant_elements(variant); i++) {
- JsonVariant *e;
-
- assert_se(e = json_variant_by_index(variant, i));
-
+ JSON_VARIANT_ARRAY_FOREACH(e, variant) {
if (!json_variant_is_string(e))
return json_log(e, flags, SYNTHETIC_ERRNO(EINVAL), "JSON array element is not a string.");