#include <assert.h>Macros | |
| #define | UTLIST_VERSION 1.9.8 |
| #define | LDECLTYPE(x) __typeof(x) |
| #define | _SV(elt, list) |
| #define | _NEXT(elt, list, next) ((elt)->next) |
| #define | _NEXTASGN(elt, list, to, next) ((elt)->next)=(to) |
| #define | _PREVASGN(elt, list, to, prev) ((elt)->prev)=(to) |
| #define | _RS(list) |
| #define | _CASTASGN(a, b) (a)=(b) |
| #define | LL_SORT(list, cmp) LL_SORT2(list, cmp, next) |
| #define | LL_SORT2(list, cmp, next) |
| #define | DL_SORT(list, cmp) DL_SORT2(list, cmp, prev, next) |
| #define | DL_SORT2(list, cmp, prev, next) |
| #define | CDL_SORT(list, cmp) CDL_SORT2(list, cmp, prev, next) |
| #define | CDL_SORT2(list, cmp, prev, next) |
| #define | LL_PREPEND(head, add) LL_PREPEND2(head,add,next) |
| #define | LL_PREPEND2(head, add, next) |
| #define | LL_CONCAT(head1, head2) LL_CONCAT2(head1,head2,next) |
| #define | LL_CONCAT2(head1, head2, next) |
| #define | LL_APPEND(head, add) LL_APPEND2(head,add,next) |
| #define | LL_APPEND2(head, add, next) |
| #define | LL_DELETE(head, del) LL_DELETE2(head,del,next) |
| #define | LL_DELETE2(head, del, next) |
| #define | LL_APPEND_VS2008(head, add) LL_APPEND2_VS2008(head,add,next) |
| #define | LL_APPEND2_VS2008(head, add, next) |
| #define | LL_DELETE_VS2008(head, del) LL_DELETE2_VS2008(head,del,next) |
| #define | LL_DELETE2_VS2008(head, del, next) |
| #define | LL_FOREACH(head, el) LL_FOREACH2(head,el,next) |
| #define | LL_FOREACH2(head, el, next) for(el=head;el;el=(el)->next) |
| #define | LL_FOREACH_SAFE(head, el, tmp) LL_FOREACH_SAFE2(head,el,tmp,next) |
| #define | LL_FOREACH_SAFE2(head, el, tmp, next) for((el)=(head);(el) && (tmp = (el)->next, 1); (el) = tmp) |
| #define | LL_SEARCH_SCALAR(head, out, field, val) LL_SEARCH_SCALAR2(head,out,field,val,next) |
| #define | LL_SEARCH_SCALAR2(head, out, field, val, next) |
| #define | LL_SEARCH(head, out, elt, cmp) LL_SEARCH2(head,out,elt,cmp,next) |
| #define | LL_SEARCH2(head, out, elt, cmp, next) |
| #define | LL_REPLACE_ELEM(head, el, add) |
| #define | LL_PREPEND_ELEM(head, el, add) |
| #define | DL_PREPEND(head, add) DL_PREPEND2(head,add,prev,next) |
| #define | DL_PREPEND2(head, add, prev, next) |
| #define | DL_APPEND(head, add) DL_APPEND2(head,add,prev,next) |
| #define | DL_APPEND2(head, add, prev, next) |
| #define | DL_CONCAT(head1, head2) DL_CONCAT2(head1,head2,prev,next) |
| #define | DL_CONCAT2(head1, head2, prev, next) |
| #define | DL_DELETE(head, del) DL_DELETE2(head,del,prev,next) |
| #define | DL_DELETE2(head, del, prev, next) |
| #define | DL_FOREACH(head, el) DL_FOREACH2(head,el,next) |
| #define | DL_FOREACH2(head, el, next) for(el=head;el;el=(el)->next) |
| #define | DL_FOREACH_SAFE(head, el, tmp) DL_FOREACH_SAFE2(head,el,tmp,next) |
| #define | DL_FOREACH_SAFE2(head, el, tmp, next) for((el)=(head);(el) && (tmp = (el)->next, 1); (el) = tmp) |
| #define | DL_SEARCH_SCALAR LL_SEARCH_SCALAR |
| #define | DL_SEARCH LL_SEARCH |
| #define | DL_SEARCH_SCALAR2 LL_SEARCH_SCALAR2 |
| #define | DL_SEARCH2 LL_SEARCH2 |
| #define | DL_REPLACE_ELEM(head, el, add) |
| #define | DL_PREPEND_ELEM(head, el, add) |
| #define | CDL_PREPEND(head, add) CDL_PREPEND2(head,add,prev,next) |
| #define | CDL_PREPEND2(head, add, prev, next) |
| #define | CDL_DELETE(head, del) CDL_DELETE2(head,del,prev,next) |
| #define | CDL_DELETE2(head, del, prev, next) |
| #define | CDL_FOREACH(head, el) CDL_FOREACH2(head,el,next) |
| #define | CDL_FOREACH2(head, el, next) for(el=head;el;el=((el)->next==head ? 0L : (el)->next)) |
| #define | CDL_FOREACH_SAFE(head, el, tmp1, tmp2) CDL_FOREACH_SAFE2(head,el,tmp1,tmp2,prev,next) |
| #define | CDL_FOREACH_SAFE2(head, el, tmp1, tmp2, prev, next) |
| #define | CDL_SEARCH_SCALAR(head, out, field, val) CDL_SEARCH_SCALAR2(head,out,field,val,next) |
| #define | CDL_SEARCH_SCALAR2(head, out, field, val, next) |
| #define | CDL_SEARCH(head, out, elt, cmp) CDL_SEARCH2(head,out,elt,cmp,next) |
| #define | CDL_SEARCH2(head, out, elt, cmp, next) |
| #define | CDL_REPLACE_ELEM(head, el, add) |
| #define | CDL_PREPEND_ELEM(head, el, add) |
| #define _CASTASGN | ( | a, | |
| b | |||
| ) | (a)=(b) |
| var _CASTASGN | ( | var, | |
| var | |||
| ) | (a)=(b) |
| local _CASTASGN | ( | local, | |
| local | |||
| ) | (a)=(b) |
| #define _NEXT | ( | elt, | |
| list, | |||
| next | |||
| ) | ((elt)->next) |
| var _NEXT | ( | var, | |
| var, | |||
| var | |||
| ) | ((elt)->next) |
| local _NEXT | ( | local, | |
| local, | |||
| local | |||
| ) | ((elt)->next) |
| #define _NEXTASGN | ( | elt, | |
| list, | |||
| to, | |||
| next | |||
| ) | ((elt)->next)=(to) |
| var _NEXTASGN | ( | var, | |
| var, | |||
| var, | |||
| var | |||
| ) | ((elt)->next)=(to) |
| local _NEXTASGN | ( | local, | |
| local, | |||
| local, | |||
| local | |||
| ) | ((elt)->next)=(to) |
| #define _PREVASGN | ( | elt, | |
| list, | |||
| to, | |||
| prev | |||
| ) | ((elt)->prev)=(to) |
| var _PREVASGN | ( | var, | |
| var, | |||
| var, | |||
| var | |||
| ) | ((elt)->prev)=(to) |
| local _PREVASGN | ( | local, | |
| local, | |||
| local, | |||
| local | |||
| ) | ((elt)->prev)=(to) |
| #define _RS | ( | list | ) |
| var _RS | ( | var | ) |
| local _RS | ( | local | ) |
| #define _SV | ( | elt, | |
| list | |||
| ) |
| var _SV | ( | var, | |
| var | |||
| ) |
| local _SV | ( | local, | |
| local | |||
| ) |
| #define CDL_DELETE | ( | head, | |
| del | |||
| ) | CDL_DELETE2(head,del,prev,next) |
| var CDL_DELETE | ( | var, | |
| var | |||
| ) | CDL_DELETE2(head,del,prev,next) |
| local CDL_DELETE | ( | local, | |
| local | |||
| ) | CDL_DELETE2(head,del,prev,next) |
| #define CDL_DELETE2 | ( | head, | |
| del, | |||
| prev, | |||
| next | |||
| ) |
| var CDL_DELETE2 | ( | var, | |
| var, | |||
| var, | |||
| var | |||
| ) |
| local CDL_DELETE2 | ( | local, | |
| local, | |||
| local, | |||
| local | |||
| ) |
| #define CDL_FOREACH | ( | head, | |
| el | |||
| ) | CDL_FOREACH2(head,el,next) |
| #define CDL_FOREACH2 | ( | head, | |
| el, | |||
| next | |||
| ) | for(el=head;el;el=((el)->next==head ? 0L : (el)->next)) |
| var CDL_FOREACH2 | ( | var, | |
| var, | |||
| var | |||
| ) | for(el=head;el;el=((el)->next==head ? 0L : (el)->next)) |
| local CDL_FOREACH2 | ( | local, | |
| local, | |||
| local | |||
| ) | for(el=head;el;el=((el)->next==head ? 0L : (el)->next)) |
| #define CDL_FOREACH_SAFE | ( | head, | |
| el, | |||
| tmp1, | |||
| tmp2 | |||
| ) | CDL_FOREACH_SAFE2(head,el,tmp1,tmp2,prev,next) |
| var CDL_FOREACH_SAFE | ( | var, | |
| var, | |||
| var, | |||
| var | |||
| ) | CDL_FOREACH_SAFE2(head,el,tmp1,tmp2,prev,next) |
| local CDL_FOREACH_SAFE | ( | local, | |
| local, | |||
| local, | |||
| local | |||
| ) | CDL_FOREACH_SAFE2(head,el,tmp1,tmp2,prev,next) |
| #define CDL_FOREACH_SAFE2 | ( | head, | |
| el, | |||
| tmp1, | |||
| tmp2, | |||
| prev, | |||
| next | |||
| ) |
| var CDL_FOREACH_SAFE2 | ( | var, | |
| var, | |||
| var, | |||
| var, | |||
| var, | |||
| var | |||
| ) |
| local CDL_FOREACH_SAFE2 | ( | local, | |
| local, | |||
| local, | |||
| local, | |||
| local, | |||
| local | |||
| ) |
| #define CDL_PREPEND | ( | head, | |
| add | |||
| ) | CDL_PREPEND2(head,add,prev,next) |
| var CDL_PREPEND | ( | var, | |
| var | |||
| ) | CDL_PREPEND2(head,add,prev,next) |
| local CDL_PREPEND | ( | local, | |
| local | |||
| ) | CDL_PREPEND2(head,add,prev,next) |
| #define CDL_PREPEND2 | ( | head, | |
| add, | |||
| prev, | |||
| next | |||
| ) |
| #define CDL_PREPEND_ELEM | ( | head, | |
| el, | |||
| add | |||
| ) |
| #define CDL_REPLACE_ELEM | ( | head, | |
| el, | |||
| add | |||
| ) |
| #define CDL_SEARCH | ( | head, | |
| out, | |||
| elt, | |||
| cmp | |||
| ) | CDL_SEARCH2(head,out,elt,cmp,next) |
| var CDL_SEARCH | ( | var, | |
| var, | |||
| var, | |||
| var | |||
| ) | CDL_SEARCH2(head,out,elt,cmp,next) |
| local CDL_SEARCH | ( | local, | |
| local, | |||
| local, | |||
| local | |||
| ) | CDL_SEARCH2(head,out,elt,cmp,next) |
| #define CDL_SEARCH2 | ( | head, | |
| out, | |||
| elt, | |||
| cmp, | |||
| next | |||
| ) |
| #define CDL_SEARCH_SCALAR | ( | head, | |
| out, | |||
| field, | |||
| val | |||
| ) | CDL_SEARCH_SCALAR2(head,out,field,val,next) |
| var CDL_SEARCH_SCALAR | ( | var, | |
| var, | |||
| var, | |||
| var | |||
| ) | CDL_SEARCH_SCALAR2(head,out,field,val,next) |
| local CDL_SEARCH_SCALAR | ( | local, | |
| local, | |||
| local, | |||
| local | |||
| ) | CDL_SEARCH_SCALAR2(head,out,field,val,next) |
| #define CDL_SEARCH_SCALAR2 | ( | head, | |
| out, | |||
| field, | |||
| val, | |||
| next | |||
| ) |
| var CDL_SEARCH_SCALAR2 | ( | var, | |
| var, | |||
| var, | |||
| var, | |||
| var | |||
| ) |
| local CDL_SEARCH_SCALAR2 | ( | local, | |
| local, | |||
| local, | |||
| local, | |||
| local | |||
| ) |
| #define CDL_SORT | ( | list, | |
| cmp | |||
| ) | CDL_SORT2(list, cmp, prev, next) |
| var CDL_SORT | ( | var, | |
| var | |||
| ) | CDL_SORT2(list, cmp, prev, next) |
| local CDL_SORT | ( | local, | |
| local | |||
| ) | CDL_SORT2(list, cmp, prev, next) |
| #define CDL_SORT2 | ( | list, | |
| cmp, | |||
| prev, | |||
| next | |||
| ) |
| #define DL_APPEND | ( | head, | |
| add | |||
| ) | DL_APPEND2(head,add,prev,next) |
| #define DL_APPEND2 | ( | head, | |
| add, | |||
| prev, | |||
| next | |||
| ) |
| #define DL_CONCAT | ( | head1, | |
| head2 | |||
| ) | DL_CONCAT2(head1,head2,prev,next) |
| var DL_CONCAT | ( | var, | |
| var | |||
| ) | DL_CONCAT2(head1,head2,prev,next) |
| local DL_CONCAT | ( | local, | |
| local | |||
| ) | DL_CONCAT2(head1,head2,prev,next) |
| #define DL_CONCAT2 | ( | head1, | |
| head2, | |||
| prev, | |||
| next | |||
| ) |
| #define DL_DELETE | ( | head, | |
| del | |||
| ) | DL_DELETE2(head,del,prev,next) |
| var DL_DELETE | ( | var, | |
| var | |||
| ) | DL_DELETE2(head,del,prev,next) |
| local DL_DELETE | ( | local, | |
| local | |||
| ) | DL_DELETE2(head,del,prev,next) |
| #define DL_DELETE2 | ( | head, | |
| del, | |||
| prev, | |||
| next | |||
| ) |
| #define DL_FOREACH | ( | head, | |
| el | |||
| ) | DL_FOREACH2(head,el,next) |
| var DL_FOREACH | ( | var, | |
| var | |||
| ) | DL_FOREACH2(head,el,next) |
| local DL_FOREACH | ( | local, | |
| local | |||
| ) | DL_FOREACH2(head,el,next) |
| #define DL_FOREACH2 | ( | head, | |
| el, | |||
| next | |||
| ) | for(el=head;el;el=(el)->next) |
| var DL_FOREACH2 | ( | var, | |
| var, | |||
| var | |||
| ) | for(el=head;el;el=(el)->next) |
| local DL_FOREACH2 | ( | local, | |
| local, | |||
| local | |||
| ) | for(el=head;el;el=(el)->next) |
| #define DL_FOREACH_SAFE | ( | head, | |
| el, | |||
| tmp | |||
| ) | DL_FOREACH_SAFE2(head,el,tmp,next) |
| var DL_FOREACH_SAFE | ( | var, | |
| var, | |||
| var | |||
| ) | DL_FOREACH_SAFE2(head,el,tmp,next) |
| local DL_FOREACH_SAFE | ( | local, | |
| local, | |||
| local | |||
| ) | DL_FOREACH_SAFE2(head,el,tmp,next) |
| #define DL_FOREACH_SAFE2 | ( | head, | |
| el, | |||
| tmp, | |||
| next | |||
| ) | for((el)=(head);(el) && (tmp = (el)->next, 1); (el) = tmp) |
| var DL_FOREACH_SAFE2 | ( | var, | |
| var, | |||
| var, | |||
| var | |||
| ) | for((el)=(head);(el) && (tmp = (el)->next, 1); (el) = tmp) |
| local DL_FOREACH_SAFE2 | ( | local, | |
| local, | |||
| local, | |||
| local | |||
| ) | for((el)=(head);(el) && (tmp = (el)->next, 1); (el) = tmp) |
| #define DL_PREPEND | ( | head, | |
| add | |||
| ) | DL_PREPEND2(head,add,prev,next) |
| var DL_PREPEND | ( | var, | |
| var | |||
| ) | DL_PREPEND2(head,add,prev,next) |
| local DL_PREPEND | ( | local, | |
| local | |||
| ) | DL_PREPEND2(head,add,prev,next) |
| #define DL_PREPEND2 | ( | head, | |
| add, | |||
| prev, | |||
| next | |||
| ) |
| var DL_PREPEND2 | ( | var, | |
| var, | |||
| var, | |||
| var | |||
| ) |
| local DL_PREPEND2 | ( | local, | |
| local, | |||
| local, | |||
| local | |||
| ) |
| #define DL_PREPEND_ELEM | ( | head, | |
| el, | |||
| add | |||
| ) |
| #define DL_REPLACE_ELEM | ( | head, | |
| el, | |||
| add | |||
| ) |
| #define DL_SEARCH LL_SEARCH |
| var DL_SEARCH LL_SEARCH |
| local DL_SEARCH LL_SEARCH |
| #define DL_SEARCH2 LL_SEARCH2 |
| var DL_SEARCH2 LL_SEARCH2 |
| local DL_SEARCH2 LL_SEARCH2 |
| #define DL_SEARCH_SCALAR LL_SEARCH_SCALAR |
| var DL_SEARCH_SCALAR LL_SEARCH_SCALAR |
| local DL_SEARCH_SCALAR LL_SEARCH_SCALAR |
| #define DL_SEARCH_SCALAR2 LL_SEARCH_SCALAR2 |
| var DL_SEARCH_SCALAR2 LL_SEARCH_SCALAR2 |
| local DL_SEARCH_SCALAR2 LL_SEARCH_SCALAR2 |
| #define DL_SORT | ( | list, | |
| cmp | |||
| ) | DL_SORT2(list, cmp, prev, next) |
| var DL_SORT | ( | var, | |
| var | |||
| ) | DL_SORT2(list, cmp, prev, next) |
| local DL_SORT | ( | local, | |
| local | |||
| ) | DL_SORT2(list, cmp, prev, next) |
| #define DL_SORT2 | ( | list, | |
| cmp, | |||
| prev, | |||
| next | |||
| ) |
| #define LDECLTYPE | ( | x | ) | __typeof(x) |
| var LDECLTYPE | ( | var | ) | __typeof(x) |
| local LDECLTYPE | ( | local | ) | __typeof(x) |
| #define LL_APPEND | ( | head, | |
| add | |||
| ) | LL_APPEND2(head,add,next) |
| #define LL_APPEND2 | ( | head, | |
| add, | |||
| next | |||
| ) |
| var LL_APPEND2 | ( | var, | |
| var, | |||
| var | |||
| ) |
| local LL_APPEND2 | ( | local, | |
| local, | |||
| local | |||
| ) |
| #define LL_APPEND2_VS2008 | ( | head, | |
| add, | |||
| next | |||
| ) |
| #define LL_APPEND_VS2008 | ( | head, | |
| add | |||
| ) | LL_APPEND2_VS2008(head,add,next) |
| var LL_APPEND_VS2008 | ( | var, | |
| var | |||
| ) | LL_APPEND2_VS2008(head,add,next) |
| local LL_APPEND_VS2008 | ( | local, | |
| local | |||
| ) | LL_APPEND2_VS2008(head,add,next) |
| #define LL_CONCAT | ( | head1, | |
| head2 | |||
| ) | LL_CONCAT2(head1,head2,next) |
| var LL_CONCAT | ( | var, | |
| var | |||
| ) | LL_CONCAT2(head1,head2,next) |
| local LL_CONCAT | ( | local, | |
| local | |||
| ) | LL_CONCAT2(head1,head2,next) |
| #define LL_CONCAT2 | ( | head1, | |
| head2, | |||
| next | |||
| ) |
| var LL_CONCAT2 | ( | var, | |
| var, | |||
| var | |||
| ) |
| local LL_CONCAT2 | ( | local, | |
| local, | |||
| local | |||
| ) |
| #define LL_DELETE | ( | head, | |
| del | |||
| ) | LL_DELETE2(head,del,next) |
| #define LL_DELETE2 | ( | head, | |
| del, | |||
| next | |||
| ) |
| #define LL_DELETE2_VS2008 | ( | head, | |
| del, | |||
| next | |||
| ) |
| #define LL_DELETE_VS2008 | ( | head, | |
| del | |||
| ) | LL_DELETE2_VS2008(head,del,next) |
| #define LL_FOREACH | ( | head, | |
| el | |||
| ) | LL_FOREACH2(head,el,next) |
| var LL_FOREACH | ( | var, | |
| var | |||
| ) | LL_FOREACH2(head,el,next) |
| local LL_FOREACH | ( | local, | |
| local | |||
| ) | LL_FOREACH2(head,el,next) |
| #define LL_FOREACH2 | ( | head, | |
| el, | |||
| next | |||
| ) | for(el=head;el;el=(el)->next) |
| var LL_FOREACH2 | ( | var, | |
| var, | |||
| var | |||
| ) | for(el=head;el;el=(el)->next) |
| local LL_FOREACH2 | ( | local, | |
| local, | |||
| local | |||
| ) | for(el=head;el;el=(el)->next) |
| #define LL_FOREACH_SAFE | ( | head, | |
| el, | |||
| tmp | |||
| ) | LL_FOREACH_SAFE2(head,el,tmp,next) |
| var LL_FOREACH_SAFE | ( | var, | |
| var, | |||
| var | |||
| ) | LL_FOREACH_SAFE2(head,el,tmp,next) |
| local LL_FOREACH_SAFE | ( | local, | |
| local, | |||
| local | |||
| ) | LL_FOREACH_SAFE2(head,el,tmp,next) |
| #define LL_FOREACH_SAFE2 | ( | head, | |
| el, | |||
| tmp, | |||
| next | |||
| ) | for((el)=(head);(el) && (tmp = (el)->next, 1); (el) = tmp) |
| var LL_FOREACH_SAFE2 | ( | var, | |
| var, | |||
| var, | |||
| var | |||
| ) | for((el)=(head);(el) && (tmp = (el)->next, 1); (el) = tmp) |
| local LL_FOREACH_SAFE2 | ( | local, | |
| local, | |||
| local, | |||
| local | |||
| ) | for((el)=(head);(el) && (tmp = (el)->next, 1); (el) = tmp) |
| #define LL_PREPEND | ( | head, | |
| add | |||
| ) | LL_PREPEND2(head,add,next) |
| var LL_PREPEND | ( | var, | |
| var | |||
| ) | LL_PREPEND2(head,add,next) |
| local LL_PREPEND | ( | local, | |
| local | |||
| ) | LL_PREPEND2(head,add,next) |
| #define LL_PREPEND2 | ( | head, | |
| add, | |||
| next | |||
| ) |
| var LL_PREPEND2 | ( | var, | |
| var, | |||
| var | |||
| ) |
| local LL_PREPEND2 | ( | local, | |
| local, | |||
| local | |||
| ) |
| #define LL_PREPEND_ELEM | ( | head, | |
| el, | |||
| add | |||
| ) |
| #define LL_REPLACE_ELEM | ( | head, | |
| el, | |||
| add | |||
| ) |
| #define LL_SEARCH | ( | head, | |
| out, | |||
| elt, | |||
| cmp | |||
| ) | LL_SEARCH2(head,out,elt,cmp,next) |
| var LL_SEARCH | ( | var, | |
| var, | |||
| var, | |||
| var | |||
| ) | LL_SEARCH2(head,out,elt,cmp,next) |
| local LL_SEARCH | ( | local, | |
| local, | |||
| local, | |||
| local | |||
| ) | LL_SEARCH2(head,out,elt,cmp,next) |
| #define LL_SEARCH2 | ( | head, | |
| out, | |||
| elt, | |||
| cmp, | |||
| next | |||
| ) |
| #define LL_SEARCH_SCALAR | ( | head, | |
| out, | |||
| field, | |||
| val | |||
| ) | LL_SEARCH_SCALAR2(head,out,field,val,next) |
| var LL_SEARCH_SCALAR | ( | var, | |
| var, | |||
| var, | |||
| var | |||
| ) | LL_SEARCH_SCALAR2(head,out,field,val,next) |
| local LL_SEARCH_SCALAR | ( | local, | |
| local, | |||
| local, | |||
| local | |||
| ) | LL_SEARCH_SCALAR2(head,out,field,val,next) |
| #define LL_SEARCH_SCALAR2 | ( | head, | |
| out, | |||
| field, | |||
| val, | |||
| next | |||
| ) |
| var LL_SEARCH_SCALAR2 | ( | var, | |
| var, | |||
| var, | |||
| var, | |||
| var | |||
| ) |
| local LL_SEARCH_SCALAR2 | ( | local, | |
| local, | |||
| local, | |||
| local, | |||
| local | |||
| ) |
| #define LL_SORT | ( | list, | |
| cmp | |||
| ) | LL_SORT2(list, cmp, next) |
| var LL_SORT | ( | var, | |
| var | |||
| ) | LL_SORT2(list, cmp, next) |
| local LL_SORT | ( | local, | |
| local | |||
| ) | LL_SORT2(list, cmp, next) |
| #define LL_SORT2 | ( | list, | |
| cmp, | |||
| next | |||
| ) |
| #define UTLIST_VERSION 1.9.8 |
| var UTLIST_VERSION 1.9.8 |
| local UTLIST_VERSION 1.9.8 |