Lines Matching refs:r
171 Dtlink_t *r, *t, *h; local
196 if((r = list->link) ) /* special case for destack or dequeue */
202 { r = (Dtlink_t*)obj;
206 { if(!(r = _dtmake(dt, obj, type)) )
220 r->_rght = h->_rght;
221 r->_rght->_left = r;
222 r->_left = h;
223 r->_left->_rght = r;
228 r->_left = h->_left;
229 r->_left->_rght = r;
230 r->_rght = h;
231 r->_rght->_left = r;
236 r->_rght = t = list->link;
238 { r->_left = t->_left;
239 t->_left = r;
241 else r->_left = r;
242 list->link = r;
247 { t->_left->_rght = r;
248 r->_left = t->_left;
249 t->_left = r;
252 { list->link = r;
253 r->_left = r;
255 r->_rght = NIL(Dtlink_t*);
258 list->here = r;
259 DTRETURN(obj, _DTOBJ(disc,r));
271 r = h; /* match at the finger, no search needed */
274 for(r = list->link; r; r = r->_rght)
275 { o = _DTOBJ(disc,r); k = _DTKEY(disc,o);
282 h = r;
284 h = h ? h : r;
288 h = r; /* track last object */
291 r = h ? h : r;
293 if(!r)
298 if(r->_rght)
299 r->_rght->_left = r->_left;
300 if(r == (t = list->link) )
301 { list->link = r->_rght;
306 { r->_left->_rght = r->_rght;
307 if(r == t->_left)
308 t->_left = r->_left;
311 list->here = r == list->here ? r->_rght : NIL(Dtlink_t*);
313 obj = _DTOBJ(disc,r);
314 _dtfree(dt, r, type);
321 r = r->_rght;
323 r = r == list->link ? NIL(Dtlink_t*) : r->_left;
326 list->here = r;
327 if(r)
328 DTRETURN(obj, _DTOBJ(disc,r));