NAME NextTagItem -- Iterate tagitem lists. (v36) SYNOPSIS next_tag = NextTagItem( tagItemPtr ) D0 A0 struct tagitem *nexttagitem( struct tagitem **tagitemptr ); FUNCTION Iterates through a (chained) array of tagitem structures, skipping and chaining as dictated by system tags. TAG_SKIP will cause it to skip the entry and the next, TAG_IGNORE ignores that single entry, and TAG_MORE has a pointer to another array of tags (and terminates the current array!) TAG_DONE also terminates the current array. Each call returns either the next tagitem you should examine, or NULL at the end. INPUTS tagItemPtr - doubly-indirect reference to a tagitem structure. The pointer will be changed to keep track of the iteration. RESULT next_tag - Each tagitem in the array or chain of arrays that should be processed according to system Tag values (in utility/tagitem.h) is returned in turn with successive calls. EXAMPLE Iterate( struct tagitem *tags ); { struct tagitem *tstate; struct tagitem *tag; tstate = tags; while ( tag = NextTagItem( &tstate ) ) { switch ( tag->ti_Tag ) { case TAG1: ... break; case TAG2: ... break; ... } } } NOTES Do NOT use the value of *tagItemPtr, but rather use the pointer returned by NextTagItem(). BUGS SEE ALSO utility/tagitem.h, gettagdata(), packbooltags(), findtagitem()