in include/yyjson/yyjson.h [6247:6267]
yyjson_api_inline bool yyjson_mut_arr_remove_range(yyjson_mut_val *arr,
size_t _idx, size_t _len) {
if (yyjson_likely(yyjson_mut_is_arr(arr))) {
yyjson_mut_val *prev, *next;
bool tail_removed;
size_t len = unsafe_yyjson_get_len(arr);
if (yyjson_unlikely(_idx + _len > len)) return false;
if (yyjson_unlikely(_len == 0)) return true;
unsafe_yyjson_set_len(arr, len - _len);
if (yyjson_unlikely(len == _len)) return true;
tail_removed = (_idx + _len == len);
prev = ((yyjson_mut_val *)arr->uni.ptr);
while (_idx-- > 0) prev = prev->next;
next = prev->next;
while (_len-- > 0) next = next->next;
prev->next = next;
if (yyjson_unlikely(tail_removed)) arr->uni.ptr = prev;
return true;
}
return false;
}