VirtualBox

Changeset 28437 in vbox for trunk/include/iprt


Ignore:
Timestamp:
Apr 17, 2010 9:58:07 PM (15 years ago)
Author:
vboxsync
Message:

RTList: Fixed RTListNodeIsDummy and added RTListForEachReverse. Added testcases for RTListForEach and RTListForEachReverse.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/iprt/list.h

    r28435 r28437  
    155155 */
    156156#define RTListNodeIsDummy(pList, pNode, Type, Member) \
    157          ( (pNode) != RT_FROM_MEMBER((pList), Type, Member) )
     157         ( (pNode) == RT_FROM_MEMBER((pList), Type, Member) )
    158158
    159159/**
     
    232232
    233233/**
     234 * Enumerate the list in reverse order (tail to head).
     235 *
     236 * @param   pList               List to enumerate.
     237 * @param   pIterator           The iterator variable name.
     238 * @param   Type                Structure the list node is a member of.
     239 * @param   Member              The list node member name.
     240 */
     241#define RTListForEachReverse(pList, pIterator, Type, Member) \
     242    for (pIterator = RTListNodeGetLast(pList, Type, Member); \
     243         !RTListNodeIsDummy(pList, pIterator, Type, Member); \
     244         pIterator = RT_FROM_MEMBER((pIterator)->Member.pPrev, Type, Member) )
     245
     246
     247/**
    234248 * Move the given list to a new list header.
    235249 *
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette