• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.9.5/ksh-20/ksh/src/lib/libast/cdt/

Lines Matching defs:dt

30 static Void_t* dtlist(reg Dt_t* dt, reg Void_t* obj, reg int type)
32 static Void_t* dtlist(dt, obj, type)
33 reg Dt_t* dt;
44 UNFLATTEN(dt);
45 disc = dt->disc; _DTDSC(disc,ky,sz,lk,cmpf);
46 dt->type &= ~DT_FOUND;
50 { if((r = dt->data->head) )
53 dt->data->here = r;
58 { if((dt->data->type&DT_LIST) || !(r = dt->data->head))
64 { for(r = dt->data->head; r; r = t)
67 (*disc->freef)(dt,_DTOBJ(r,lk),disc);
69 (*dt->memoryf)(dt,(Void_t*)r,0,disc);
72 dt->data->head = dt->data->here = NIL(Dtlink_t*);
73 dt->data->size = 0;
81 !(obj = (*disc->makef)(dt,obj,disc)) )
86 { r = (Dtlink_t*)(*dt->memoryf)
87 (dt,NIL(Void_t*),sizeof(Dthold_t),disc);
92 (*disc->freef)(dt,obj,disc);
97 if(dt->data->type&DT_LIST)
98 { if((t = dt->data->here) && t != dt->data->head)
106 else if(dt->data->type&DT_STACK)
108 r->right = t = dt->data->head;
114 dt->data->head = r;
116 else /* if(dt->data->type&DT_QUEUE) */
117 { if((t = dt->data->head) )
123 { dt->data->head = r;
129 if(dt->data->size >= 0)
130 dt->data->size += 1;
132 dt->data->here = r;
136 if((type&DT_MATCH) || !(r = dt->data->here) || _DTOBJ(r,lk) != obj)
138 for(r = dt->data->head; r; r = r->right)
140 if(_DTCMP(dt,key,k,disc,cmpf,sz) == 0)
147 dt->type |= DT_FOUND;
153 if(r == (t = dt->data->head) )
154 { dt->data->head = r->right;
155 if(dt->data->head)
156 dt->data->head->left = t->left;
164 dt->data->here = r == dt->data->here ? r->right : NIL(Dtlink_t*);
165 dt->data->size -= 1;
169 (*disc->freef)(dt,obj,disc);
171 (*dt->memoryf)(dt,(Void_t*)r,0,disc);
177 r = r == dt->data->head ? NIL(Dtlink_t*) : r->left;
179 dt->data->here = r;