a1200   NEWS   APPS   DOCS   ABOUT
a1200
----
a1200
----
Autodocs
 Libraries:
 utility.library
  AddNamedObject
  AllocNamedObjectA
  AllocateTagItems
  Amiga2Date
  ApplyTagChanges
  AttemptRemNamedObject
  CallHookPkt
  CheckDate
  CloneTagItems
  Date2Amiga
  FilterTagChanges
  FilterTagItems
  FindNamedObject
  FindTagItem
  FreeNamedObject
  FreeTagItems
  GetTagData
  GetUniqueID
  MapTags
  NamedObjectName
  NextTagItem
  PackBoolTags
  PackStructureTags
  RefreshTagItemClones
  ReleaseNamedObject
  RemNamedObject
  SDivMod32
  SMult32
  SMult64
  Stricmp
  Strnicmp
  TagInArray
  ToLower
  ToUpper
  UDivMod32
  UMult32
  UMult64
  UnpackStructureTags
Include
GuruMeditation
Docs » Autodocs » utility.library » FilterTagChanges

NAME

	FilterTagChanges -- eliminate tags which specify no change. (V36)

SYNOPSIS

	FilterTagChanges(changeList,originalList,apply);
A0 A1 D0
VOID FilterTagChanges(struct TagItem *, struct TagItem *, ULONG);

FUNCTION

	This function goes through changeList. For each item found in
changeList, if the item is also present in originalList, and their
data values are identical, then the tag is removed from changeList.
If the two tag's data values are different and the 'apply' value is
non-zero, then the tag data in originalList will be updated to match
the value from changeList.

INPUTS

	changeList - list of new tags (may be NULL)
originalList - a list of existing tags (may be NULL)
apply - boolean specification as to whether the data values in
originalList are to be updated to the data values in
changeList.

EXAMPLE

	Assume you have an attribute list for an object (originalList)
which looks like this:
{ATTR_Size, "large"},
{ATTR_Color, "orange"},
{ATTR_Shape, "square"}
If you receive a new tag list containing some changes (changeList),
which looks like this:
{ATTR_Size, "large"},
{ATTR_Shape, "triangle"}
If you call FilterTagChanges(), changeList will be modified to
contain only those attributes which are different from those
in originalList. All other items will have their tag values set to
TAG_IGNORE. The resulting changeList will become:
{TAG_IGNORE, "large"},
{ATTR_Shape, "triangle"}
If 'apply' was set to 0, originalList would be unchanged. If 'apply'
was non-zero, originalList would be changed to:
{ATTR_Size, "large"},
{ATTR_Color, "orange"},
{ATTR_Shape, "triangle"}

SEE ALSO

<utility/tagitem.h>, ApplyTagChanges()

Comments

Name:
E-mail: Use this if you want a message if you get a response, will not be shown.
Comment:
Select correct short for:

Phenomena

TRSI
RZR
PHA
DJ

Comments:

$VER: d0.se 1.14 Copyright © 2011-2024 Tobias Geijersson support at d0 dot se