SL_NextTagItem


NAME
SL_NextTagItem -- iterate through a tag list.

SYNOPSIS
tag = SL_NextTagItem(tagItemPtr);
D0 A0

struct TagItem *SL_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.

INPUTS
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 is returned in turn
with successive calls.

EXAMPLE
Iterate(struct TagItem *tags);
{
struct TagItem *tstate;
struct TagItem *tag;

tstate = tags;
while (tag = SL_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 SL_NextTagItem.

SEE ALSO
SL_FindTagItem.

 

SL_NextTagItem  Command Section By Type  url:SL_NextTagItem
  created:2008-03-01 23:36:30   last updated:2008-03-01 23:36:30
  Copyright © 1985-2017 GrasshopperLLC. All Rights Reserved.

User Contributed Comments For SL_NextTagItem
There are no user contributed comments for this page.