XmbTextPropertyToTextList()XmbTextPropertyToTextList()NameXmbTextPropertyToTextList – convert an internationalized text property
to a list of multi-byte strings.
Synopsis
int XmbTextPropertyToTextList(display, text_prop, list_return,
count_return)
Display *display;
XTextProperty *text_prop;
char ***list_return;
int *count_return;
Arguments
display Specifies the connection to the X server.
text_prop Specifies the XTextProperty structure to be used.
list_return
Returns a list of NULL-terminated character strings.
count_return
Returns the number of strings.
Returns
Success on success. XNoMemory, XLocaleNotSupported, or XConverterNot‐
Found on failure.
Availability
Release 5 and later.
DescriptionXmbTextPropertyToTextList() returns a list of multi-byte text strings
encoded in the current locale representing the NULL-separated elements
of the specified XTextProperty structure. The data in text_prop must
be format 8.
Multiple elements of the property (for example, the strings in a dis‐
joint text selection) are separated by a null byte. The contents of
the property are not required to be NULL-terminated; any terminating
null should not be included in text_prop.nitems.
If insufficient memory is available for the list and its elements, Xmb‐
TextPropertyToTextList() returns XNoMemory. If the current locale is
not supported, it returns XLocaleNotSupported. If the encoding field
of text_prop is not convertible to the encoding of the current locale,
it returns XConverterNotFound. For supported locales, existence of a
converter from COMPOUND_TEXT, STRING, or the encoding of the current
locale is guaranteed although the actual text may contain unconvertible
characters. Conversion of other encodings is implementation-dependent.
In all of these error cases, the function does not set any return val‐
ues.
Otherwise, XmbTextPropertyToTextList() returns the list of NULL-termi‐
nated text strings to list_return, and the number of text strings to
count_return.
If the value field of text_prop is not fully convertible to the encod‐
ing of the current locale, the function returns the number of uncon‐
vertible characters. Each unconvertible character is converted to a
string in the current locale that is specific to the current locale.
To obtain the value of this string, use XDefaultString(). If all char‐
acters are convertible, XmbTextPropertyToTextList() returns Success.
If the text property contains "invalid codepoints" or bytes that are
not valid characters in the encoding of the property, the result is
undefined.
To free the storage for the list and its contents returned by Xmb‐
TextPropertyToTextList(), use XFreeStringList().
Structures
The XTextProperty structure contains:
typedef struct {
unsigned char *value; /* property data */
Atom encoding; /* type of property */
int format; /* 8, 16, or 32 */
unsigned long nitems; /* number of items in value */
} XTextProperty;
The possible return values of this function are as follows:
#define XNoMemory - 1
#define XLocaleNotSupported - 2
#define XConverterNotFound - 3
See AlsoXSetTextProperty(), XStringListToTextProperty(), XDefaultString(), Xmb‐
TextListToTextProperty(), XwcFreeStringList(), XwcTextListToTextProp‐
erty(), XwcTextPropertyToTextList().
Xlib - Text Encoding Conversions XmbTextPropertyToTextList()