in include/yyjson/yyjson.h [6752:6772]
yyjson_api_inline bool yyjson_mut_obj_insert(yyjson_mut_val *obj,
yyjson_mut_val *key,
yyjson_mut_val *val,
size_t idx) {
if (yyjson_likely(yyjson_mut_is_obj(obj) &&
yyjson_mut_is_str(key) && val)) {
size_t len = unsafe_yyjson_get_len(obj);
if (yyjson_likely(len >= idx)) {
if (len > idx) {
void *ptr = obj->uni.ptr;
unsafe_yyjson_mut_obj_rotate(obj, idx);
unsafe_yyjson_mut_obj_add(obj, key, val, len);
obj->uni.ptr = ptr;
} else {
unsafe_yyjson_mut_obj_add(obj, key, val, len);
}
return true;
}
}
return false;
}