From ce2638af405d5bd74cad9fc0665f9ae9d9bf36d1 Mon Sep 17 00:00:00 2001 From: Emanuele Torre Date: Thu, 28 Mar 2024 06:37:48 +0100 Subject: jv_aux.c: replace jv_array_foreach with regular loop in jv_dels() The code was only conditionally using the value --- src/jv_aux.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/jv_aux.c b/src/jv_aux.c index 6004799c..0a06117e 100644 --- a/src/jv_aux.c +++ b/src/jv_aux.c @@ -314,7 +314,7 @@ static jv jv_dels(jv t, jv keys) { int neg_idx = 0; int nonneg_idx = 0; int len = jv_array_length(jv_copy(t)); - jv_array_foreach(t, i, elem) { + for (int i = 0; i < len; ++i) { int del = 0; while (neg_idx < jv_array_length(jv_copy(neg_keys))) { int delidx = len + (int)jv_number_get_value_and_consume(jv_array_get(jv_copy(neg_keys), neg_idx)); @@ -343,9 +343,7 @@ static jv jv_dels(jv t, jv keys) { } } if (!del) - new_array = jv_array_append(new_array, elem); - else - jv_free(elem); + new_array = jv_array_append(new_array, jv_array_get(jv_copy(t), i)); } arr_out: jv_free(neg_keys); -- cgit v1.2.3