ss_listinit(&i->link); i->dsn = 0; i->ptr = ptr; i->r = r; ss_listappend(&m->indexes, &i->link); return 0; } int sx_indexset(sxindex *i, uint32_t dsn) { i->dsn = dsn; return 0; } ss_rbtruncate(sx_truncate, sx_vfreeall(((sr** )arg)[0], ((ssa**)arg)[1], sscast(n, sxv, node))) static inline void sx_indextruncate(sxindex *i, sxmanager *m) { if (i->i.root == NULL) return; void *argv[2] = { m->r, m->asxv }; sx_truncate(i->i.root, argv); ss_rbinit(&i->i); } int sx_indexfree(sxindex *i, sxmanager *m) { sx_indextruncate(i, m); ss_listunlink(&i->link);
ss_rbinit(&i->i); ss_listinit(&i->link); i->dsn = 0; i->object = object; i->r = r; ss_listappend(&m->indexes, &i->link); return 0; } int sx_indexset(sxindex *i, uint32_t dsn) { i->dsn = dsn; return 0; } ss_rbtruncate(sx_truncate, sx_vfreeall( ((void**)arg)[1], ((void**)arg)[0], sscast(n, sxv, node))) static inline void sx_indextruncate(sxindex *i, sxmanager *m) { if (i->i.root == NULL) return; void *args[2] = { i->r, &m->pool }; sx_truncate(i->i.root, args); ss_rbinit(&i->i); } int sx_indexfree(sxindex *i, sxmanager *m) { sx_indextruncate(i, m); ss_listunlink(&i->link);