utility.library/NextTagItem

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()

Browse your own file: