Lines Matching defs:dt
31 Void_t* dtrenew(Dt_t* dt, reg Void_t* obj)
33 Void_t* dtrenew(dt, obj)
34 Dt_t* dt;
40 reg Dtdisc_t* disc = dt->disc;
42 UNFLATTEN(dt);
44 if(!(e = dt->data->here) || _DTOBJ(e,disc->link) != obj)
47 if(dt->data->type&(DT_STACK|DT_QUEUE|DT_LIST))
49 else if(dt->data->type&(DT_OSET|DT_OBAG) )
51 dt->data->here = e->left;
53 { dt->data->here = e->right;
63 else /*if(dt->data->type&(DT_SET|DT_BAG))*/
64 { s = dt->data->htab + HINDEX(dt->data->ntab,e->hash);
73 e->hash = _DTHSH(dt,key,disc,disc->size);
74 dt->data->here = NIL(Dtlink_t*);
77 dt->data->size -= 1;
78 return (*dt->meth->searchf)(dt,(Void_t*)e,DT_RENEW) ? obj : NIL(Void_t*);