Lines Matching refs:list

84 #define _SV(elt,list) _tmp = (char*)(list); {char **_alias = (char**)&(list); *_alias = (elt); }  argument
85 #define _NEXT(elt,list,next) ((char*)((list)->next)) argument
86 #define _NEXTASGN(elt,list,to,next) { char **_alias = (char**)&((list)->next); *_alias=(char*)(to);… argument
88 #define _PREVASGN(elt,list,to,prev) { char **_alias = (char**)&((list)->prev); *_alias=(char*)(to);… argument
89 #define _RS(list) { char **_alias = (char**)&(list); *_alias=_tmp; } argument
92 #define _SV(elt,list) argument
93 #define _NEXT(elt,list,next) ((elt)->next) argument
94 #define _NEXTASGN(elt,list,to,next) ((elt)->next)=(to) argument
96 #define _PREVASGN(elt,list,to,prev) ((elt)->prev)=(to) argument
97 #define _RS(list) argument
105 #define LL_SORT(list, cmp) \ argument
106 LL_SORT2(list, cmp, next)
108 #define LL_SORT2(list, cmp, next) \ argument
110 LDECLTYPE(list) _ls_p; \
111 LDECLTYPE(list) _ls_q; \
112 LDECLTYPE(list) _ls_e; \
113 LDECLTYPE(list) _ls_tail; \
115 if (list) { \
119 _CASTASGN(_ls_p,list); \
120 list = NULL; \
129 _SV(_ls_q,list); _ls_q = _NEXT(_ls_q,list,next); _RS(list); \
135 _ls_e = _ls_q; _SV(_ls_q,list); _ls_q = \
136 _NEXT(_ls_q,list,next); _RS(list); _ls_qsize--; \
138 _ls_e = _ls_p; _SV(_ls_p,list); _ls_p = \
139 _NEXT(_ls_p,list,next); _RS(list); _ls_psize--; \
141 _ls_e = _ls_p; _SV(_ls_p,list); _ls_p = \
142 _NEXT(_ls_p,list,next); _RS(list); _ls_psize--; \
144 _ls_e = _ls_q; _SV(_ls_q,list); _ls_q = \
145 _NEXT(_ls_q,list,next); _RS(list); _ls_qsize--; \
148 _SV(_ls_tail,list); _NEXTASGN(_ls_tail,list,_ls_e,next); _RS(list); \
150 _CASTASGN(list,_ls_e); \
157 _SV(_ls_tail,list); _NEXTASGN(_ls_tail,list,NULL,next); _RS(list); \
168 #define DL_SORT(list, cmp) \ argument
169 DL_SORT2(list, cmp, prev, next)
171 #define DL_SORT2(list, cmp, prev, next) \ argument
173 LDECLTYPE(list) _ls_p; \
174 LDECLTYPE(list) _ls_q; \
175 LDECLTYPE(list) _ls_e; \
176 LDECLTYPE(list) _ls_tail; \
178 if (list) { \
182 _CASTASGN(_ls_p,list); \
183 list = NULL; \
192 _SV(_ls_q,list); _ls_q = _NEXT(_ls_q,list,next); _RS(list); \
198 _ls_e = _ls_q; _SV(_ls_q,list); _ls_q = \
199 _NEXT(_ls_q,list,next); _RS(list); _ls_qsize--; \
201 _ls_e = _ls_p; _SV(_ls_p,list); _ls_p = \
202 _NEXT(_ls_p,list,next); _RS(list); _ls_psize--; \
204 _ls_e = _ls_p; _SV(_ls_p,list); _ls_p = \
205 _NEXT(_ls_p,list,next); _RS(list); _ls_psize--; \
207 _ls_e = _ls_q; _SV(_ls_q,list); _ls_q = \
208 _NEXT(_ls_q,list,next); _RS(list); _ls_qsize--; \
211 _SV(_ls_tail,list); _NEXTASGN(_ls_tail,list,_ls_e,next); _RS(list); \
213 _CASTASGN(list,_ls_e); \
215 _SV(_ls_e,list); _PREVASGN(_ls_e,list,_ls_tail,prev); _RS(list); \
220 _CASTASGN(list->prev, _ls_tail); \
221 _SV(_ls_tail,list); _NEXTASGN(_ls_tail,list,NULL,next); _RS(list); \
230 #define CDL_SORT(list, cmp) \ argument
231 CDL_SORT2(list, cmp, prev, next)
233 #define CDL_SORT2(list, cmp, prev, next) \ argument
235 LDECLTYPE(list) _ls_p; \
236 LDECLTYPE(list) _ls_q; \
237 LDECLTYPE(list) _ls_e; \
238 LDECLTYPE(list) _ls_tail; \
239 LDECLTYPE(list) _ls_oldhead; \
240 LDECLTYPE(list) _tmp; \
242 if (list) { \
246 _CASTASGN(_ls_p,list); \
247 _CASTASGN(_ls_oldhead,list); \
248 list = NULL; \
257 _SV(_ls_q,list); \
258 if (_NEXT(_ls_q,list,next) == _ls_oldhead) { \
261 _ls_q = _NEXT(_ls_q,list,next); \
263 _RS(list); \
269 _ls_e = _ls_q; _SV(_ls_q,list); _ls_q = \
270 _NEXT(_ls_q,list,next); _RS(list); _ls_qsize--; \
273 _ls_e = _ls_p; _SV(_ls_p,list); _ls_p = \
274 _NEXT(_ls_p,list,next); _RS(list); _ls_psize--; \
277 _ls_e = _ls_p; _SV(_ls_p,list); _ls_p = \
278 _NEXT(_ls_p,list,next); _RS(list); _ls_psize--; \
281 _ls_e = _ls_q; _SV(_ls_q,list); _ls_q = \
282 _NEXT(_ls_q,list,next); _RS(list); _ls_qsize--; \
286 _SV(_ls_tail,list); _NEXTASGN(_ls_tail,list,_ls_e,next); _RS(list); \
288 _CASTASGN(list,_ls_e); \
290 _SV(_ls_e,list); _PREVASGN(_ls_e,list,_ls_tail,prev); _RS(list); \
295 _CASTASGN(list->prev,_ls_tail); \
296 _CASTASGN(_tmp,list); \
297 _SV(_ls_tail,list); _NEXTASGN(_ls_tail,list,_tmp,next); _RS(list); \