|
Previous: utility.library/NamedObjectName |
TOC: Table of Contents |
Index: All Documents |
Next: utility.library/PackBoolTags |
| Title: |
| NextTagItem -- iterate through a tag list. (V36) |
| Synopsis: |
| tag = NextTagItem(tagItemPtr); D0 A0 struct TagItem *NextTagItem(struct TagItem **); |
| Function: |
| Iterates through a tag list, skipping and chaining as dictated by system tags. TAG_SKIP will cause it to skip the entry and a number of following tags as specified in ti_Data. 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 when the end of the list has been reached. |
| Parameters: |
| tagItemPtr - doubly-indirect reference to a TagItem structure. The pointer will be changed to keep track of the iteration. |
| Results: |
| nextTag - each TagItem in the array or chain of arrays that should be processed according to system tag values defined in <utility/tagitem.h>) is returned in turn with successive calls. |
| Examples: |
| 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; ... } } } |
| *** WARNING ***: |
| Do NOT use the value of *tagItemPtr, but rather use the pointer returned by NextTagItem(). |
| Related topics: |
| <utility/tagitem.h>, GetTagData(), PackBoolTags(), FindTagItem() |