nx_json* nx_json_ska_alloc(void) { unsigned int idx; if(!gensetdyn_new(&nx_json_nodes, &idx)) return NULL; nx_json *p=(nx_json*)gensetdyn_p(&nx_json_nodes, idx); memset(p, 0, sizeof(nx_json)); p->alloc_idx=idx; return p; }
int avltree_newnode (avltree *t, unsigned int data, unsigned int *i) { if (!gensetdyn_new(&t->x, i)) return 0 ; { register avlnode *s = avltree_nodes(t) ; s[*i].data = data ; s[*i].child[0] = s[*i].child[1] = (unsigned int)-1 ; s[*i].balance = 0 ; } return 1 ; }
int boztree_insert(boztree_t *t, boztree_id_t const *e) { unsigned int n=0; void *p; if(!t) return (errno=EFAULT, -1); if(!e) return (errno=EINVAL, -1); if(avltree_search(&t->a, &e->i, &n)) return (errno=EEXIST, -1); if(!gensetdyn_new(&t->s, &n)) return (errno=ENOMEM, -1); p = gensetdyn_p(&t->s, n); memcpy(p, e, t->s.esize); avltree_insert(&t->a, n); return 0; }