VistaIOSetAttr(3)
π VistaIOSetAttr(3) β bestie edition π
okay so this is VistaIOSetAttr(3) from the Library Functions Manual and honestly? she's a baddie. she sets attribute values. that's the whole vibe. let's get into it β¨
β¨ NAME β¨
VistaIOSetAttr β set an attribute's value π
π¦ SYNOPSIS π¦
void VistaIOSetAttr (list, name, dict, repn, value)
VistaIOAttrList list;
VistaIOStringConst type;
VistaIODictEntry *dict;
VistaIORepnKind repn;
type value;
void VistaIOSetAttrValue (posn, dict, repn, value)
VistaIOAttrListPosn posn;
VistaIODictEntry *dict;
VistaIORepnKind repn;
type value;
where type, according to repn, is VistaIOBit, VistaIOUByte, VistaIOSByte, VistaIOShort, VistaIOLong, VistaIOFloat, VistaIODouble, VistaIOAttrList, VistaIOBoolean, VistaIOBundle, VistaIOList, VistaIOPointer, VistaIOString, VistaIOEdges, VistaIOImage, etc. (the "etc" is doing a LOT of heavy lifting there and we respect her for it) π
π ARGUMENTS π
listβ Specifies and returns the attribute list in which an attribute is to be set. (yes bestie, she's an in-out parameter, she gives you back the list too, iconic behavior)nameβ Specifies by name of the attribute to be set. π·οΈposnβ Specifies by position the attribute to be set. πdictβ May specify a dictionary to be used in translating the value supplied to a keyword that should be stored as the attribute's value, or it may beNULL. ποΈrepnβ Specifies the representation of the new attribute value. πvalueβ Specifies the new attribute value. π
πΈ DESCRIPTION πΈ
so like, these routines both set an attribute's value, but the way they clock which attribute they're talking about is completely different, and that's the whole plot twist:
VistaIOSetAttrsets the value of an attribute namednamein the attribute listlist. Iflistdoes not already contain an attribute namednamethen a new attribute with that name is appended to it. Otherwise, only the first attribute namednameis located and changed. (first one only, bestie β the rest are just standing there like π§)VistaIOSetAttrValuesets the value of the attribute whose position within an attribute list isposn. π
okay now the dict argument, this is the part where it gets spicy π₯ You can provide a dictionary for mapping value to a keyword that will be stored as the attribute's value (see VistaIOdictionary(3)). For example, if you pass an attribute value of 1 and a dictionary that associates the value 1 with the keyword ubyte (as the dictionaryVistaIORepnDict does), then the string ubyte will be stored as the attribute's value. Dictionaries may be used to map both numeric values and strings to keywords. And if you supply a dictionary but value is not mentioned in that dictionary, then value itself will be stored with the attribute. (no keyword for you, you're going in as-is, periodt π
)
now the copy situation, and this is IMPORTANT so pay attention bestie π«Ά
If value is a number or character string, the routine makes its own copy of the value as a character string for storing in the attribute.
If, on the other hand, value is an attribute list, pointer, image, edge set, etc., then the routine stores a pointer in the attribute but it does not make a copy of the object pointed to.
β οΈ no cap, this distinction matters β one of these is a lil photocopy and the other one is just handing over the address. don't get them twisted π
β RETURN VALUES β
As a side effect, these routines modify the attribute list referred to by list or posn. (that's it, that's the return value β she returns nothing, she just changes things. main character energy fr fr π)
π EXAMPLES π
The following code fragment sets an image's name:
VistaIOImage image;
VistaIOSetAttr (VistaIOImageAttrList (image), VistaIONameAttr, NULL,
VistaIOStringRepn, "Mona Lisa");
she's naming the image "Mona Lisa" and honestly? taste. πΌοΈβ¨
π SEE ALSO π
VistaIOGetAttr(3)VistaIOGetAttrValue(3)VistaIOattribute(3)VistaIOdictionary(3)
π AUTHOR π
- Art Pope
<pope@cs.ubc.ca> - Adaption to vistaio: Gert Wollny
<gw.fossdev@gmail.com>
and that's the whole page bestie π«Ά this was VistaIO Version 1.2.14, dated 24 April 1993, and yeah she's vintage but she's still serving π go set some attributes, you got this β¨ππ¦
π¦ where this page comes from
- debian bookworm: libvistaio-dev 1.2.19-3 Β· libvista-orig
- debian trixie: libvistaio-dev 1.2.19-3+b2 Β· libvista-orig
- ubuntu jammy: libvistaio-dev 1.2.19-3 Β· libvista-orig
- ubuntu noble: libvistaio-dev 1.2.19-3 Β· libvista-orig
- ubuntu questing: libvistaio-dev 1.2.19-4
- ubuntu resolute: libvistaio-dev 1.2.19-4build1 Β· libvista-orig
- ubuntu stonking: libvistaio-dev 1.2.19-4build1 Β· libvista-orig
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms