Example #1
0
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;
}
Example #2
0
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 ;
}
Example #3
0
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;
}