head 124 src/dps8/uthash.h # define HASH_FIND(hh,head,keyptr,keylen,out) \ head 128 src/dps8/uthash.h if (head) { \ head 129 src/dps8/uthash.h HASH_FCN(keyptr,keylen, (head)->hh.tbl->num_buckets, _hf_hashv, _hf_bkt); \ head 130 src/dps8/uthash.h if (HASH_BLOOM_TEST((head)->hh.tbl, _hf_hashv)) { \ head 131 src/dps8/uthash.h HASH_FIND_IN_BKT((head)->hh.tbl, hh, (head)->hh.tbl->buckets[ _hf_bkt ], \ head 171 src/dps8/uthash.h # define HASH_MAKE_TABLE(hh,head) \ head 173 src/dps8/uthash.h (head)->hh.tbl = (UT_hash_table*)uthash_malloc( \ head 175 src/dps8/uthash.h if (!((head)->hh.tbl)) { uthash_fatal( "out of memory"); } \ head 176 src/dps8/uthash.h memset((head)->hh.tbl, 0, sizeof(UT_hash_table)); \ head 177 src/dps8/uthash.h (head)->hh.tbl->tail = &((head)->hh); \ head 178 src/dps8/uthash.h (head)->hh.tbl->num_buckets = HASH_INITIAL_NUM_BUCKETS; \ head 179 src/dps8/uthash.h (head)->hh.tbl->log2_num_buckets = HASH_INITIAL_NUM_BUCKETS_LOG2; \ head 180 src/dps8/uthash.h (head)->hh.tbl->hho = (char*)(&(head)->hh) - (char*)(head); \ head 181 src/dps8/uthash.h (head)->hh.tbl->buckets = (UT_hash_bucket*)uthash_malloc( \ head 183 src/dps8/uthash.h if (! (head)->hh.tbl->buckets) { uthash_fatal( "out of memory"); } \ head 184 src/dps8/uthash.h memset((head)->hh.tbl->buckets, 0, \ head 186 src/dps8/uthash.h HASH_BLOOM_MAKE((head)->hh.tbl); \ head 187 src/dps8/uthash.h (head)->hh.tbl->signature = HASH_SIGNATURE; \ head 190 src/dps8/uthash.h # define HASH_ADD(hh,head,fieldname,keylen_in,add) \ head 191 src/dps8/uthash.h HASH_ADD_KEYPTR(hh,head,&((add)->fieldname),keylen_in,add) head 193 src/dps8/uthash.h # define HASH_REPLACE(hh,head,fieldname,keylen_in,add,replaced) \ head 196 src/dps8/uthash.h HASH_FIND(hh,head,&((add)->fieldname),keylen_in,replaced); \ head 198 src/dps8/uthash.h HASH_DELETE(hh,head,replaced); \ head 200 src/dps8/uthash.h HASH_ADD(hh,head,fieldname,keylen_in,add); \ head 203 src/dps8/uthash.h # define HASH_ADD_KEYPTR(hh,head,keyptr,keylen_in,add) \ head 209 src/dps8/uthash.h if (!(head)) { \ head 210 src/dps8/uthash.h head = (add); \ head 211 src/dps8/uthash.h (head)->hh.prev = NULL; \ head 212 src/dps8/uthash.h HASH_MAKE_TABLE(hh,head); \ head 214 src/dps8/uthash.h (head)->hh.tbl->tail->next = (add); \ head 215 src/dps8/uthash.h (add)->hh.prev = ELMT_FROM_HH((head)->hh.tbl, (head)->hh.tbl->tail); \ head 216 src/dps8/uthash.h (head)->hh.tbl->tail = &((add)->hh); \ head 218 src/dps8/uthash.h (head)->hh.tbl->num_items++; \ head 219 src/dps8/uthash.h (add)->hh.tbl = (head)->hh.tbl; \ head 220 src/dps8/uthash.h HASH_FCN(keyptr,keylen_in, (head)->hh.tbl->num_buckets, \ head 222 src/dps8/uthash.h HASH_ADD_TO_BKT((head)->hh.tbl->buckets[_ha_bkt],&(add)->hh); \ head 223 src/dps8/uthash.h HASH_BLOOM_ADD((head)->hh.tbl,(add)->hh.hashv); \ head 224 src/dps8/uthash.h HASH_EMIT_KEY(hh,head,keyptr,keylen_in); \ head 225 src/dps8/uthash.h HASH_FSCK(hh,head); \ head 247 src/dps8/uthash.h # define HASH_DELETE(hh,head,delptr) \ head 252 src/dps8/uthash.h uthash_free((head)->hh.tbl->buckets, \ head 253 src/dps8/uthash.h (head)->hh.tbl->num_buckets*sizeof(struct UT_hash_bucket) ); \ head 254 src/dps8/uthash.h HASH_BLOOM_FREE((head)->hh.tbl); \ head 255 src/dps8/uthash.h uthash_free((head)->hh.tbl, sizeof(UT_hash_table)); \ head 256 src/dps8/uthash.h head = NULL; \ head 259 src/dps8/uthash.h if ((delptr) == ELMT_FROM_HH((head)->hh.tbl,(head)->hh.tbl->tail)) { \ head 260 src/dps8/uthash.h (head)->hh.tbl->tail = \ head 262 src/dps8/uthash.h (head)->hh.tbl->hho); \ head 266 src/dps8/uthash.h (head)->hh.tbl->hho))->next = (delptr)->hh.next; \ head 268 src/dps8/uthash.h DECLTYPE_ASSIGN(head,(delptr)->hh.next); \ head 272 src/dps8/uthash.h (head)->hh.tbl->hho))->prev = \ head 275 src/dps8/uthash.h HASH_TO_BKT( _hd_hh_del->hashv, (head)->hh.tbl->num_buckets, _hd_bkt); \ head 276 src/dps8/uthash.h HASH_DEL_IN_BKT(hh,(head)->hh.tbl->buckets[_hd_bkt], _hd_hh_del); \ head 277 src/dps8/uthash.h (head)->hh.tbl->num_items--; \ head 279 src/dps8/uthash.h HASH_FSCK(hh,head); \ head 287 src/dps8/uthash.h # define HASH_FIND_STR(head,findstr,out) \ head 288 src/dps8/uthash.h HASH_FIND(hh,head,findstr,strlen(findstr),out) head 289 src/dps8/uthash.h # define HASH_ADD_STR(head,strfield,add) \ head 290 src/dps8/uthash.h HASH_ADD(hh,head,strfield,strlen(add->strfield),add) head 291 src/dps8/uthash.h # define HASH_REPLACE_STR(head,strfield,add,replaced) \ head 292 src/dps8/uthash.h HASH_REPLACE(hh,head,strfield,strlen(add->strfield),add,replaced) head 293 src/dps8/uthash.h # define HASH_FIND_INT(head,findint,out) \ head 294 src/dps8/uthash.h HASH_FIND(hh,head,findint,sizeof(int),out) head 295 src/dps8/uthash.h # define HASH_ADD_INT(head,intfield,add) \ head 296 src/dps8/uthash.h HASH_ADD(hh,head,intfield,sizeof(int),add) head 297 src/dps8/uthash.h # define HASH_REPLACE_INT(head,intfield,add,replaced) \ head 298 src/dps8/uthash.h HASH_REPLACE(hh,head,intfield,sizeof(int),add,replaced) head 299 src/dps8/uthash.h # define HASH_FIND_PTR(head,findptr,out) \ head 300 src/dps8/uthash.h HASH_FIND(hh,head,findptr,sizeof(void *),out) head 301 src/dps8/uthash.h # define HASH_ADD_PTR(head,ptrfield,add) \ head 302 src/dps8/uthash.h HASH_ADD(hh,head,ptrfield,sizeof(void *),add) head 303 src/dps8/uthash.h # define HASH_REPLACE_PTR(head,ptrfield,add) \ head 304 src/dps8/uthash.h HASH_REPLACE(hh,head,ptrfield,sizeof(void *),add,replaced) head 305 src/dps8/uthash.h # define HASH_DEL(head,delptr) \ head 306 src/dps8/uthash.h HASH_DELETE(hh,head,delptr) head 318 src/dps8/uthash.h # define HASH_FSCK(hh,head) \ head 324 src/dps8/uthash.h if (head) { \ head 326 src/dps8/uthash.h for( _bkt_i = 0; _bkt_i < (head)->hh.tbl->num_buckets; _bkt_i++) { \ head 328 src/dps8/uthash.h _thh = (head)->hh.tbl->buckets[_bkt_i].hh_head; \ head 340 src/dps8/uthash.h if ((head)->hh.tbl->buckets[_bkt_i].count != _bkt_count) { \ head 342 src/dps8/uthash.h (head)->hh.tbl->buckets[_bkt_i].count, _bkt_count); \ head 345 src/dps8/uthash.h if (_count != (head)->hh.tbl->num_items) { \ head 347 src/dps8/uthash.h (head)->hh.tbl->num_items, _count ); \ head 352 src/dps8/uthash.h _thh = &(head)->hh; \ head 359 src/dps8/uthash.h _prev = (char*)ELMT_FROM_HH((head)->hh.tbl, _thh); \ head 361 src/dps8/uthash.h (head)->hh.tbl->hho) : NULL ); \ head 363 src/dps8/uthash.h if (_count != (head)->hh.tbl->num_items) { \ head 365 src/dps8/uthash.h (head)->hh.tbl->num_items, _count ); \ head 370 src/dps8/uthash.h # define HASH_FSCK(hh,head) head 383 src/dps8/uthash.h # define HASH_EMIT_KEY(hh,head,keyptr,fieldlen) \ head 390 src/dps8/uthash.h # define HASH_EMIT_KEY(hh,head,keyptr,fieldlen) head 667 src/dps8/uthash.h # define HASH_FIND_IN_BKT(tbl,hh,head,keyptr,keylen_in,out) \ head 669 src/dps8/uthash.h if (head.hh_head) DECLTYPE_ASSIGN(out,ELMT_FROM_HH(tbl,head.hh_head)); \ head 686 src/dps8/uthash.h # define HASH_ADD_TO_BKT(head,addhh) \ head 688 src/dps8/uthash.h head.count++; \ head 689 src/dps8/uthash.h (addhh)->hh_next = head.hh_head; \ head 691 src/dps8/uthash.h if (head.hh_head) { (head).hh_head->hh_prev = (addhh); } \ head 692 src/dps8/uthash.h (head).hh_head=addhh; \ head 693 src/dps8/uthash.h if (head.count >= ((head.expand_mult+1) * HASH_BKT_CAPACITY_THRESH) \ head 704 src/dps8/uthash.h # define HASH_DEL_IN_BKT(hh,head,hh_del) \ head 705 src/dps8/uthash.h (head).count--; \ head 706 src/dps8/uthash.h if ((head).hh_head == hh_del) { \ head 707 src/dps8/uthash.h (head).hh_head = hh_del->hh_next; \ head 807 src/dps8/uthash.h # define HASH_SORT(head,cmpfcn) HASH_SRT(hh,head,cmpfcn) head 808 src/dps8/uthash.h # define HASH_SRT(hh,head,cmpfcn) \ head 813 src/dps8/uthash.h if (head) { \ head 816 src/dps8/uthash.h _hs_list = &((head)->hh); \ head 830 src/dps8/uthash.h (head)->hh.tbl->hho)) : NULL); \ head 839 src/dps8/uthash.h (head)->hh.tbl->hho)) : NULL); \ head 845 src/dps8/uthash.h (head)->hh.tbl->hho)) : NULL); \ head 848 src/dps8/uthash.h cmpfcn(DECLTYPE(head)(ELMT_FROM_HH((head)->hh.tbl,_hs_p)), \ head 849 src/dps8/uthash.h DECLTYPE(head)(ELMT_FROM_HH((head)->hh.tbl,_hs_q))) \ head 854 src/dps8/uthash.h (head)->hh.tbl->hho)) : NULL); \ head 860 src/dps8/uthash.h (head)->hh.tbl->hho)) : NULL); \ head 865 src/dps8/uthash.h ELMT_FROM_HH((head)->hh.tbl,_hs_e) : NULL); \ head 870 src/dps8/uthash.h ELMT_FROM_HH((head)->hh.tbl,_hs_tail) : NULL); \ head 878 src/dps8/uthash.h (head)->hh.tbl->tail = _hs_tail; \ head 879 src/dps8/uthash.h DECLTYPE_ASSIGN(head,ELMT_FROM_HH((head)->hh.tbl, _hs_list)); \ head 883 src/dps8/uthash.h HASH_FSCK(hh,head); \ head 933 src/dps8/uthash.h # define HASH_CLEAR(hh,head) \ head 935 src/dps8/uthash.h if (head) { \ head 936 src/dps8/uthash.h uthash_free((head)->hh.tbl->buckets, \ head 937 src/dps8/uthash.h (head)->hh.tbl->num_buckets*sizeof(struct UT_hash_bucket)); \ head 938 src/dps8/uthash.h HASH_BLOOM_FREE((head)->hh.tbl); \ head 939 src/dps8/uthash.h uthash_free((head)->hh.tbl, sizeof(UT_hash_table)); \ head 940 src/dps8/uthash.h (head)=NULL; \ head 944 src/dps8/uthash.h # define HASH_OVERHEAD(hh,head) \ head 945 src/dps8/uthash.h (size_t)((((head)->hh.tbl->num_items * sizeof(UT_hash_handle)) + \ head 946 src/dps8/uthash.h ((head)->hh.tbl->num_buckets * sizeof(UT_hash_bucket)) + \ head 951 src/dps8/uthash.h # define HASH_ITER(hh,head,el,tmp) \ head 952 src/dps8/uthash.h for((el)=(head), (*(char**)(&(tmp)))=(char*)((head)?(head)->hh.next:NULL); \ head 955 src/dps8/uthash.h # define HASH_ITER(hh,head,el,tmp) \ head 956 src/dps8/uthash.h for((el)=(head),(tmp)=DECLTYPE(el)((head)?(head)->hh.next:NULL); \ head 961 src/dps8/uthash.h # define HASH_COUNT(head) HASH_CNT(hh,head) head 962 src/dps8/uthash.h # define HASH_CNT(hh,head) ((head)?((head)->hh.tbl->num_items):0) head 328 src/dps8/utlist.h # define LL_PREPEND(head,add) \ head 329 src/dps8/utlist.h LL_PREPEND2(head,add,next) head 331 src/dps8/utlist.h # define LL_PREPEND2(head,add,next) \ head 333 src/dps8/utlist.h (add)->next = head; \ head 334 src/dps8/utlist.h head = add; \ head 352 src/dps8/utlist.h # define LL_APPEND(head,add) \ head 353 src/dps8/utlist.h LL_APPEND2(head,add,next) head 355 src/dps8/utlist.h # define LL_APPEND2(head,add,next) \ head 357 src/dps8/utlist.h LDECLTYPE(head) _tmp; \ head 359 src/dps8/utlist.h if (head) { \ head 360 src/dps8/utlist.h _tmp = head; \ head 364 src/dps8/utlist.h (head)=(add); \ head 368 src/dps8/utlist.h # define LL_DELETE(head,del) \ head 369 src/dps8/utlist.h LL_DELETE2(head,del,next) head 371 src/dps8/utlist.h # define LL_DELETE2(head,del,next) \ head 373 src/dps8/utlist.h LDECLTYPE(head) _tmp; \ head 374 src/dps8/utlist.h if ((head) == (del)) { \ head 375 src/dps8/utlist.h (head)=(head)->next; \ head 377 src/dps8/utlist.h _tmp = head; \ head 392 src/dps8/utlist.h # define LL_APPEND_VS2008(head,add) \ head 393 src/dps8/utlist.h LL_APPEND2_VS2008(head,add,next) head 395 src/dps8/utlist.h # define LL_APPEND2_VS2008(head,add,next) \ head 397 src/dps8/utlist.h if (head) { \ head 398 src/dps8/utlist.h (add)->next = head; /* use add->next as a temp variable */ \ head 402 src/dps8/utlist.h (head)=(add); \ head 407 src/dps8/utlist.h # define LL_DELETE_VS2008(head,del) \ head 408 src/dps8/utlist.h LL_DELETE2_VS2008(head,del,next) head 410 src/dps8/utlist.h # define LL_DELETE2_VS2008(head,del,next) \ head 412 src/dps8/utlist.h if ((head) == (del)) { \ head 413 src/dps8/utlist.h (head)=(head)->next; \ head 415 src/dps8/utlist.h char *_tmp = (char*)(head); \ head 416 src/dps8/utlist.h while ((head)->next && ((head)->next != (del))) { \ head 417 src/dps8/utlist.h head = (head)->next; \ head 419 src/dps8/utlist.h if ((head)->next) { \ head 420 src/dps8/utlist.h (head)->next = ((del)->next); \ head 423 src/dps8/utlist.h char **_head_alias = (char**)&(head); \ head 446 src/dps8/utlist.h # define LL_FOREACH(head,el) \ head 447 src/dps8/utlist.h LL_FOREACH2(head,el,next) head 449 src/dps8/utlist.h # define LL_FOREACH2(head,el,next) \ head 450 src/dps8/utlist.h for(el=head;el;el=(el)->next) head 452 src/dps8/utlist.h # define LL_FOREACH_SAFE(head,el,tmp) \ head 453 src/dps8/utlist.h LL_FOREACH_SAFE2(head,el,tmp,next) head 455 src/dps8/utlist.h # define LL_FOREACH_SAFE2(head,el,tmp,next) \ head 456 src/dps8/utlist.h for((el)=(head);(el) && (tmp = (el)->next, 1); (el) = tmp) head 458 src/dps8/utlist.h # define LL_SEARCH_SCALAR(head,out,field,val) \ head 459 src/dps8/utlist.h LL_SEARCH_SCALAR2(head,out,field,val,next) head 461 src/dps8/utlist.h # define LL_SEARCH_SCALAR2(head,out,field,val,next) \ head 463 src/dps8/utlist.h LL_FOREACH2(head,out,next) { \ head 468 src/dps8/utlist.h # define LL_SEARCH(head,out,elt,cmp) \ head 469 src/dps8/utlist.h LL_SEARCH2(head,out,elt,cmp,next) head 471 src/dps8/utlist.h # define LL_SEARCH2(head,out,elt,cmp,next) \ head 473 src/dps8/utlist.h LL_FOREACH2(head,out,next) { \ head 478 src/dps8/utlist.h # define LL_REPLACE_ELEM(head, el, add) \ head 480 src/dps8/utlist.h LDECLTYPE(head) _tmp; \ head 481 src/dps8/utlist.h assert(head != NULL); \ head 485 src/dps8/utlist.h if ((head) == (el)) { \ head 486 src/dps8/utlist.h (head) = (add); \ head 488 src/dps8/utlist.h _tmp = head; \ head 498 src/dps8/utlist.h # define LL_PREPEND_ELEM(head, el, add) \ head 500 src/dps8/utlist.h LDECLTYPE(head) _tmp; \ head 501 src/dps8/utlist.h assert(head != NULL); \ head 505 src/dps8/utlist.h if ((head) == (el)) { \ head 506 src/dps8/utlist.h (head) = (add); \ head 508 src/dps8/utlist.h _tmp = head; \ head 524 src/dps8/utlist.h # define DL_PREPEND(head,add) \ head 525 src/dps8/utlist.h DL_PREPEND2(head,add,prev,next) head 527 src/dps8/utlist.h # define DL_PREPEND2(head,add,prev,next) \ head 529 src/dps8/utlist.h (add)->next = head; \ head 530 src/dps8/utlist.h if (head) { \ head 531 src/dps8/utlist.h (add)->prev = (head)->prev; \ head 532 src/dps8/utlist.h (head)->prev = (add); \ head 536 src/dps8/utlist.h (head) = (add); \ head 539 src/dps8/utlist.h # define DL_APPEND(head,add) \ head 540 src/dps8/utlist.h DL_APPEND2(head,add,prev,next) head 542 src/dps8/utlist.h # define DL_APPEND2(head,add,prev,next) \ head 544 src/dps8/utlist.h if (head) { \ head 545 src/dps8/utlist.h (add)->prev = (head)->prev; \ head 546 src/dps8/utlist.h (head)->prev->next = (add); \ head 547 src/dps8/utlist.h (head)->prev = (add); \ head 550 src/dps8/utlist.h (head)=(add); \ head 551 src/dps8/utlist.h (head)->prev = (head); \ head 552 src/dps8/utlist.h (head)->next = NULL; \ head 574 src/dps8/utlist.h # define DL_DELETE(head,del) \ head 575 src/dps8/utlist.h DL_DELETE2(head,del,prev,next) head 577 src/dps8/utlist.h # define DL_DELETE2(head,del,prev,next) \ head 581 src/dps8/utlist.h (head)=NULL; \ head 582 src/dps8/utlist.h } else if ((del)==(head)) { \ head 584 src/dps8/utlist.h (head) = (del)->next; \ head 590 src/dps8/utlist.h (head)->prev = (del)->prev; \ head 595 src/dps8/utlist.h # define DL_FOREACH(head,el) \ head 596 src/dps8/utlist.h DL_FOREACH2(head,el,next) head 598 src/dps8/utlist.h # define DL_FOREACH2(head,el,next) \ head 599 src/dps8/utlist.h for(el=head;el;el=(el)->next) head 606 src/dps8/utlist.h # define DL_FOREACH_SAFE(head,el,tmp) \ head 607 src/dps8/utlist.h DL_FOREACH_SAFE2(head,el,tmp,next) head 609 src/dps8/utlist.h # define DL_FOREACH_SAFE2(head,el,tmp,next) \ head 610 src/dps8/utlist.h for((el)=(head);(el) && (tmp = (el)->next, 1); (el) = tmp) head 622 src/dps8/utlist.h # define DL_REPLACE_ELEM(head, el, add) \ head 624 src/dps8/utlist.h assert(head != NULL); \ head 627 src/dps8/utlist.h if ((head) == (el)) { \ head 628 src/dps8/utlist.h (head) = (add); \ head 641 src/dps8/utlist.h (head)->prev = (add); \ head 648 src/dps8/utlist.h # define DL_PREPEND_ELEM(head, el, add) \ head 650 src/dps8/utlist.h assert(head != NULL); \ head 656 src/dps8/utlist.h if ((head) == (el)) { \ head 657 src/dps8/utlist.h (head) = (add); \ head 669 src/dps8/utlist.h # define CDL_PREPEND(head,add) \ head 670 src/dps8/utlist.h CDL_PREPEND2(head,add,prev,next) head 672 src/dps8/utlist.h # define CDL_PREPEND2(head,add,prev,next) \ head 674 src/dps8/utlist.h if (head) { \ head 675 src/dps8/utlist.h (add)->prev = (head)->prev; \ head 676 src/dps8/utlist.h (add)->next = (head); \ head 677 src/dps8/utlist.h (head)->prev = (add); \ head 683 src/dps8/utlist.h (head)=(add); \ head 686 src/dps8/utlist.h # define CDL_DELETE(head,del) \ head 687 src/dps8/utlist.h CDL_DELETE2(head,del,prev,next) head 689 src/dps8/utlist.h # define CDL_DELETE2(head,del,prev,next) \ head 691 src/dps8/utlist.h if ( ((head)==(del)) && ((head)->next == (head))) { \ head 692 src/dps8/utlist.h (head) = 0L; \ head 696 src/dps8/utlist.h if ((del) == (head)) (head)=(del)->next; \ head 700 src/dps8/utlist.h # define CDL_FOREACH(head,el) \ head 701 src/dps8/utlist.h CDL_FOREACH2(head,el,next) head 703 src/dps8/utlist.h # define CDL_FOREACH2(head,el,next) \ head 704 src/dps8/utlist.h for(el=head;el;el=((el)->next==head ? 0L : (el)->next)) head 706 src/dps8/utlist.h # define CDL_FOREACH_SAFE(head,el,tmp1,tmp2) \ head 707 src/dps8/utlist.h CDL_FOREACH_SAFE2(head,el,tmp1,tmp2,prev,next) head 709 src/dps8/utlist.h # define CDL_FOREACH_SAFE2(head,el,tmp1,tmp2,prev,next) \ head 710 src/dps8/utlist.h for((el)=(head), ((tmp1)=(head)?((head)->prev):NULL); \ head 714 src/dps8/utlist.h # define CDL_SEARCH_SCALAR(head,out,field,val) \ head 715 src/dps8/utlist.h CDL_SEARCH_SCALAR2(head,out,field,val,next) head 717 src/dps8/utlist.h # define CDL_SEARCH_SCALAR2(head,out,field,val,next) \ head 719 src/dps8/utlist.h CDL_FOREACH2(head,out,next) { \ head 724 src/dps8/utlist.h # define CDL_SEARCH(head,out,elt,cmp) \ head 725 src/dps8/utlist.h CDL_SEARCH2(head,out,elt,cmp,next) head 727 src/dps8/utlist.h # define CDL_SEARCH2(head,out,elt,cmp,next) \ head 729 src/dps8/utlist.h CDL_FOREACH2(head,out,next) { \ head 734 src/dps8/utlist.h # define CDL_REPLACE_ELEM(head, el, add) \ head 736 src/dps8/utlist.h assert(head != NULL); \ head 742 src/dps8/utlist.h (head) = (add); \ head 748 src/dps8/utlist.h if ((head) == (el)) { \ head 749 src/dps8/utlist.h (head) = (add); \ head 754 src/dps8/utlist.h # define CDL_PREPEND_ELEM(head, el, add) \ head 756 src/dps8/utlist.h assert(head != NULL); \ head 763 src/dps8/utlist.h if ((head) == (el)) { \ head 764 src/dps8/utlist.h (head) = (add); \