Lines Matching refs:JBL_NODE
17 IW_INLINE void _jbn_remove_item(JBL_NODE parent, JBL_NODE child);
18 static void _jbn_add_item(JBL_NODE parent, JBL_NODE node);
165 iwrc jbn_from_json_printf_va(JBL_NODE *node, IWPOOL *pool, const char *format, va_list va) { in jbn_from_json_printf_va()
183 iwrc jbn_from_json_printf(JBL_NODE *node, IWPOOL *pool, const char *format, ...) { in jbn_from_json_printf()
510 JBL_NODE node; in jbl_from_json()
1199 iwrc jbn_visit(JBL_NODE node, int lvl, JBN_VCTX *vctx, JBN_VISITOR visitor) { in jbn_visit()
1211 JBL_NODE n = node; in jbn_visit()
1222 JBL_NODE nn = n->next; // Keep pointer to next in jbn_visit()
1368 static jbn_visitor_cmd_t _jbn_get_visitor(int lvl, JBL_NODE n, const char *key, int klidx, JBN_VCTX… in _jbn_get_visitor()
1383 iwrc jbn_at2(JBL_NODE node, JBL_PTR jp, JBL_NODE *res) { in jbn_at2()
1397 *res = (JBL_NODE) vctx.result; in jbn_at2()
1403 iwrc jbn_at(JBL_NODE node, const char *path, JBL_NODE *res) { in jbn_at()
1415 int jbn_paths_compare(JBL_NODE n1, const char *n1path, JBL_NODE n2, const char *n2path, jbl_type_t … in jbn_paths_compare()
1417 JBL_NODE v1 = 0, v2 = 0; in jbn_paths_compare()
1437 int jbn_path_compare(JBL_NODE n1, JBL_NODE n2, const char *path, jbl_type_t vtype, iwrc *rcp) { in jbn_path_compare()
1441 int jbn_path_compare_str(JBL_NODE n, const char *path, const char *sv, iwrc *rcp) { in jbn_path_compare_str()
1443 JBL_NODE v; in jbn_path_compare_str()
1457 int jbn_path_compare_i64(JBL_NODE n, const char *path, int64_t iv, iwrc *rcp) { in jbn_path_compare_i64()
1459 JBL_NODE v; in jbn_path_compare_i64()
1472 int jbn_path_compare_f64(JBL_NODE n, const char *path, double fv, iwrc *rcp) { in jbn_path_compare_f64()
1474 JBL_NODE v; in jbn_path_compare_f64()
1487 int jbn_path_compare_bool(JBL_NODE n, const char *path, bool bv, iwrc *rcp) { in jbn_path_compare_bool()
1489 JBL_NODE v; in jbn_path_compare_bool()
1502 IW_INLINE void _jbl_node_reset_data(JBL_NODE target) { in _jbl_node_reset_data()
1510 IW_INLINE void _jbl_copy_node_data(JBL_NODE target, JBL_NODE value) { in _jbl_copy_node_data()
1516 iwrc _jbl_increment_node_data(JBL_NODE target, JBL_NODE value) { in _jbl_increment_node_data()
1539 void jbn_data(JBL_NODE node) { in jbn_data()
1543 int jbn_length(JBL_NODE node) { in jbn_length()
1545 for (JBL_NODE n = node->child; n; n = n->next) { in jbn_length()
1551 static void _jbn_add_item(JBL_NODE parent, JBL_NODE node) { in _jbn_add_item()
1557 JBL_NODE prev = parent->child->prev; in _jbn_add_item()
1579 void jbn_add_item(JBL_NODE parent, JBL_NODE node) { in jbn_add_item()
1583 iwrc jbn_add_item_str(JBL_NODE parent, const char *key, const char *val, int vlen, JBL_NODE *node_o… in jbn_add_item_str()
1588 JBL_NODE n = iwpool_calloc(sizeof(*n), pool); in jbn_add_item_str()
1617 iwrc jbn_add_item_null(JBL_NODE parent, const char *key, IWPOOL *pool) { in jbn_add_item_null()
1622 JBL_NODE n = iwpool_calloc(sizeof(*n), pool); in jbn_add_item_null()
1640 iwrc jbn_add_item_i64(JBL_NODE parent, const char *key, int64_t val, JBL_NODE *node_out, IWPOOL *po… in jbn_add_item_i64()
1645 JBL_NODE n = iwpool_calloc(sizeof(*n), pool); in jbn_add_item_i64()
1667 iwrc jbn_add_item_f64(JBL_NODE parent, const char *key, double val, JBL_NODE *node_out, IWPOOL *poo… in jbn_add_item_f64()
1672 JBL_NODE n = iwpool_calloc(sizeof(*n), pool); in jbn_add_item_f64()
1694 iwrc jbn_add_item_bool(JBL_NODE parent, const char *key, bool val, JBL_NODE *node_out, IWPOOL *pool… in jbn_add_item_bool()
1699 JBL_NODE n = iwpool_calloc(sizeof(*n), pool); in jbn_add_item_bool()
1719 iwrc jbn_add_item_obj(JBL_NODE parent, const char *key, JBL_NODE *out, IWPOOL *pool) { in jbn_add_item_obj()
1724 JBL_NODE n = iwpool_calloc(sizeof(*n), pool); in jbn_add_item_obj()
1745 iwrc jbn_add_item_arr(JBL_NODE parent, const char *key, JBL_NODE *out, IWPOOL *pool) { in jbn_add_item_arr()
1750 JBL_NODE n = iwpool_calloc(sizeof(*n), pool); in jbn_add_item_arr()
1772 JBL_NODE src, in jbn_copy_path()
1774 JBL_NODE target, in jbn_copy_path()
1783 JBL_NODE n1, n2; in jbn_copy_path()
1821 JBL_NODE src, in jbn_copy_paths()
1822 JBL_NODE target, in jbn_copy_paths()
1839 IW_INLINE void _jbn_remove_item(JBL_NODE parent, JBL_NODE child) { in _jbn_remove_item()
1870 void jbn_remove_item(JBL_NODE parent, JBL_NODE child) { in jbn_remove_item()
1877 JBL_NODE parent, in _jbl_create_node()
1880 JBL_NODE *node, in _jbl_create_node()
1883 JBL_NODE n = iwpool_alloc(sizeof(*n), ctx->pool); in _jbl_create_node()
1992 JBL_NODE parent, in _jbl_node_from_binn_impl()
2046 iwrc _jbl_node_from_binn(const binn *bn, JBL_NODE *node, bool clone_strings, IWPOOL *pool) { in _jbl_node_from_binn()
2059 static JBL_NODE _jbl_node_find(JBL_NODE node, JBL_PTR ptr, int from, int to) { in _jbl_node_find()
2063 JBL_NODE n = node; in _jbl_node_find()
2087 IW_INLINE JBL_NODE _jbl_node_find2(JBL_NODE node, JBL_PTR ptr) { in _jbl_node_find2()
2094 static JBL_NODE _jbl_node_detach(JBL_NODE target, JBL_PTR path) { in _jbl_node_detach()
2098 JBL_NODE parent = (path->cnt > 1) ? _jbl_node_find(target, path, 0, path->cnt - 1) : target; in _jbl_node_detach()
2102 JBL_NODE child = _jbl_node_find(parent, path, path->cnt - 1, path->cnt); in _jbl_node_detach()
2110 JBL_NODE jbn_detach2(JBL_NODE target, JBL_PTR path) { in jbn_detach2()
2114 JBL_NODE jbn_detach(JBL_NODE target, const char *path) { in jbn_detach()
2120 JBL_NODE res = jbn_detach2(target, jp); in jbn_detach()
2126 JBL_NODE n1 = *((JBL_NODE*) o1); in _jbl_cmp_node_keys()
2127 JBL_NODE n2 = *((JBL_NODE*) o2); in _jbl_cmp_node_keys()
2139 static uint32_t _jbl_node_count(JBL_NODE n) { in _jbl_node_count()
2149 static int _jbl_compare_objects(JBL_NODE n1, JBL_NODE n2, iwrc *rcp) { in _jbl_compare_objects()
2160 JBL_NODE *s1 = malloc(2 * sizeof(JBL_NODE) * cnt); in _jbl_compare_objects()
2165 JBL_NODE *s2 = s1 + cnt; in _jbl_compare_objects()
2177 qsort(s1, cnt, sizeof(JBL_NODE), _jbl_cmp_node_keys); in _jbl_compare_objects()
2178 qsort(s2, cnt, sizeof(JBL_NODE), _jbl_cmp_node_keys); in _jbl_compare_objects()
2195 int _jbl_compare_nodes(JBL_NODE n1, JBL_NODE n2, iwrc *rcp) { in _jbl_compare_nodes()
2246 int jbn_compare_nodes(JBL_NODE n1, JBL_NODE n2, iwrc *rcp) { in jbn_compare_nodes()
2250 static iwrc _jbl_target_apply_patch(JBL_NODE target, const JBL_PATCHEXT *ex, IWPOOL *pool) { in _jbl_target_apply_patch()
2255 JBL_NODE value = ex->p->vnode; in _jbl_target_apply_patch()
2306 JBL_NODE parent = (path->cnt > 1) ? _jbl_node_find(target, path, 0, lastidx) : target; in _jbl_target_apply_patch()
2311 JBL_NODE pn = _jbl_node_find(parent, path, i, i + 1); in _jbl_target_apply_patch()
2339 JBL_NODE child = parent->child; in _jbl_target_apply_patch()
2376 JBL_NODE child = _jbl_node_find(parent, path, path->cnt - 1, path->cnt); in _jbl_target_apply_patch()
2406 static iwrc _jbl_from_node_impl(binn *res, JBL_NODE node) { in _jbl_from_node_impl()
2413 for (JBL_NODE n = node->child; n; n = n->next) { in _jbl_from_node_impl()
2428 for (JBL_NODE n = node->child; n; n = n->next) { in _jbl_from_node_impl()
2466 iwrc _jbl_binn_from_node(binn *res, JBL_NODE node) { in _jbl_binn_from_node()
2476 iwrc _jbl_from_node(JBL jbl, JBL_NODE node) { in _jbl_from_node()
2481 static iwrc _jbl_patch_node(JBL_NODE root, const JBL_PATCH *p, size_t cnt, IWPOOL *pool) { in _jbl_patch_node()
2518 JBL_NODE root; in _jbl_patch()
2593 void jbn_apply_from(JBL_NODE target, JBL_NODE from) { in jbn_apply_from()
2600 iwrc jbl_to_node(JBL jbl, JBL_NODE *node, bool clone_strings, IWPOOL *pool) { in jbl_to_node()
2608 iwrc jbn_patch(JBL_NODE root, const JBL_PATCH *p, size_t cnt, IWPOOL *pool) { in jbn_patch()
2628 static iwrc _jbl_create_patch(JBL_NODE node, JBL_PATCH **pptr, int *cntp, IWPOOL *pool) { in _jbl_create_patch()
2632 for (JBL_NODE n = node->child; n; n = n->next) { in _jbl_create_patch()
2644 for (JBL_NODE n = node->child; n; n = n->next, ++i) { in _jbl_create_patch()
2646 for (JBL_NODE n2 = n->child; n2; n2 = n2->next) { in _jbl_create_patch()
2697 JBL_NODE patch; in jbl_patch_from_json()
2722 iwrc jbl_fill_from_node(JBL jbl, JBL_NODE node) { in jbl_fill_from_node()
2739 iwrc jbl_from_node(JBL *jblp, JBL_NODE node) { in jbl_from_node()
2755 static JBL_NODE _jbl_merge_patch_node(JBL_NODE target, JBL_NODE patch, IWPOOL *pool, iwrc *rcp) { in _jbl_merge_patch_node()
2777 JBL_NODE patch_next = patch->next; in _jbl_merge_patch_node()
2779 JBL_NODE node = target->child; in _jbl_merge_patch_node()
2788 JBL_NODE node = target->child; in _jbl_merge_patch_node()
2808 iwrc jbn_merge_patch_from_json(JBL_NODE root, const char *patchjson, IWPOOL *pool) { in jbn_merge_patch_from_json()
2812 JBL_NODE patch, res; in jbn_merge_patch_from_json()
2830 JBL_NODE target; in jbl_merge_patch()
2866 iwrc jbn_patch_auto(JBL_NODE root, JBL_NODE patch, IWPOOL *pool) { in jbn_patch_auto()
2885 iwrc jbn_merge_patch(JBL_NODE root, JBL_NODE patch, IWPOOL *pool) { in jbn_merge_patch()