XMSTRINGTABLEUNPARSE(3)
β¨ XmStringTableUnparse β¨
okay so bestie, welcome to XmStringTableUnparse, a library call from the Motif family, and no cap it's literally a convenience function that converts a table of compound strings into an array of text π she's giving "glow up translator" energy and honestly? obsessed.
πΈ NAME πΈ
XmStringTableUnparse β a convenience function that converts a table of compound strings to an array of text. yes, that's the whole job. she takes your compound strings and hands you back actual readable text. iconic behavior fr fr β¨
π SYNOPSIS π
#include <Xm/Xm.h>
XtPointer * XmStringTableUnparse(
XmStringTable table,
Cardinal count,
XmStringTag tag,
XmTextType tag_type,
XmTextType output_type,
XmParseTable parse,
Cardinal parse_count,
XmParseModel parse_model);
eight arguments. EIGHT. she's high maintenance but she delivers π«Ά
π¦ DESCRIPTION π¦
okay so here's the tea, bestie: XmStringTableUnparse takes an array of compound strings, allocates a string array for the type of characters determined by type with an equal number of slots, calls XmStringUnparse on each compound string in table, and inserts the resulting string in the corresponding slot in the array. so it's like a little assembly line: compound string in, plain string out, one slot per string, no chaos. periodt π
here's what every single argument is doing with her life:
tableβ specifies anXmStringTablecontaining the compound string to be converted. this is the main character, the source material πcountβ specifies the number of compound strings in table. girl needs to know how many she's working with πΈtagβ specifies the tag to be used in matching with text segments. the two types of tag types areXmFONTLIST_DEFAULT_TAGand_MOTIF_DEFAULT_LOCALE. only segments tagged with tag will be returned. if tag isNULL, all segments will be matched β so like, no filter, everyone's invited π«Άtag_typeβ specifies the type of tag to be searched for. these types includeXmMULTIBYTE_TEXT,XmWIDECHAR_TEXT, andXmCHARSET_TEXT. pick your fighter β¨output_typeβ specifies the type of text to be generated. these types includeXmMULTIBYTE_TEXT,XmWIDECHAR_TEXT, andXmCHARSET_TEXT. same trio, different job β this one's about what you get out πparseβ specifies the parse table to be used.parse_countβ specifies the number of items in parse.parse_modelβ specifies which non-text components to be considered in matching in parse_table. possible values are:XmOUTPUT_ALLβ puts out all matching components. she's generous, she's giving everything πXmOUTPUT_BETWEENβ puts out only those matching components that are between two matching text components.XmOUTPUT_BEGINNINGβ puts out only those matching components that are at the beginning of a matching text component.XmOUTPUT_ENDβ puts out only those matching components that are at the end of a matching text component.XmOUTPUT_BOTHβ puts out only those matching components that are at the beginning or end of a matching text component. both ends, no middle, main character energy honestly π
π₯ RETURN π₯
returns an allocated array of allocated strings. and listen, bestie, this part matters β the application is responsible for managing the allocated space. she is NOT your cleanup crew, she is NOT picking up after you, that's on you π
so here's the vibe: the application can recover the allocated strings space by calling XtFree count times (that is, one time for each allocated string). that's one XtFree per string, no skipping, no shortcuts. the application can then recover the allocated array by calling XtFree on the allocated array itself.
π¨ bestie PLEASE do not lose the array before you've freed the strings. free the strings count times first, then free the array. and if you leak it? not her problem, she warned you, that's on periodt π
π RELATED π
XmStringTab.
okay that's the whole page, no notes, she ate π
this was XmStringTableUnparse from the library call manual β the version/date deets live in that footer line, so consider this your cute sign-off: same source, same manual, just with way better vibes. mwah, go free your memory, bestie πβ¨π
π¦ where this page comes from
- alpine 3.24: motif-doc 2.5.2-r0 Β· LGPL-2.1-or-later
- arch rolling: openmotif 2.3.8-4 Β· LGPL-2.1-or-later
- centos-stream 9: motif-devel 2.3.4-32.el9 Β· LGPLv2+
- centos-stream 9: motif-devel 2.3.4-32.el9 Β· LGPLv2+
- epel 10: motif-devel 2.3.8-2.el10_2 Β· LicenseRef-Callaway-LGPLv2+
- fedora 43: motif-devel 2.3.8-1.fc43 Β· LicenseRef-Callaway-LGPLv2+
- fedora 43: motif-devel 2.3.8-1.fc43 Β· LicenseRef-Callaway-LGPLv2+
- fedora 43: motif-devel 2.3.8-2.fc43 Β· LicenseRef-Callaway-LGPLv2+
- fedora 43: motif-devel 2.3.8-2.fc43 Β· LicenseRef-Callaway-LGPLv2+
- fedora 44: motif-devel 2.3.8-3.fc44 Β· LicenseRef-Callaway-LGPLv2+
- fedora 44: motif-devel 2.3.8-3.fc44 Β· LicenseRef-Callaway-LGPLv2+
- nixos 26.05: motif 2.3.8
- nixpkgs unstable: motif 2.3.8
- opensuse-leap 16.0: motif-devel 2.3.8-bp160.1.1 Β· LGPL-2.1-or-later
- opensuse-leap 16.0: motif-devel 2.3.8-bp160.1.1 Β· LGPL-2.1-or-later
- opensuse-leap 16.0: motif-devel 2.3.8-bp160.1.1 Β· LGPL-2.1-or-later
- opensuse-leap 16.0: motif-devel 2.3.8-bp160.1.1 Β· LGPL-2.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms