{
return arr->length;
}
+
+int
+array_list_del_idx( struct array_list *arr, int idx, int count )
+{
+ int i, stop;
+
+ stop = idx + count;
+ if ( idx >= arr->length || stop > arr->length ) return -1;
+ for ( i = idx; i < stop; ++i ) {
+ if ( arr->array[i] ) arr->free_fn( arr->array[i] );
+ }
+ memmove( arr->array + idx, arr->array + stop, (arr->length - stop) * sizeof(void*) );
+ arr->length -= count;
+ return 0;
+}
struct array_list *arr,
int (*sort_fn)(const void *, const void *));
+extern int
+array_list_del_idx(struct array_list *arr, int i, int count);
#ifdef __cplusplus
}
return (struct json_object*)array_list_get_idx(jso->o.c_array, idx);
}
+int json_object_array_del_idx(struct json_object *jso, int idx, int count)
+{
+ return array_list_del_idx(jso->o.c_array, idx, count);
+}
extern struct json_object* json_object_array_get_idx(struct json_object *obj,
int idx);
+/** Delete an elements from a specified index in an array (a json_object of type json_type_array)
+ *
+ * The reference count will be decremented for each of the deleted objects. If there
+ * are no more owners of an element that is being deleted, then the value is
+ * freed. Otherwise, the reference to the value will remain in memory.
+ *
+ * @param obj the json_object instance
+ * @param idx the index to start deleting elements at
+ * @param count the number of elements to delete
+ * @returns 0 if the elements were successfully deleted
+ */
+extern int json_object_array_del_idx(struct json_object *obj, int idx, int count);
+
/* json_bool type methods */
/** Create a new empty json_object of type json_type_boolean