The XStringListToTextProperty function sets the specified
XTextProperty to be of type STRING (format 8) with a value representing
the concatenation of the specified list of null-separated character strings.
An extra null byte (which is not included in the nitems member) is stored
at the end of the value field of text_prop_return. The strings are assumed
(without verification) to be in the STRING encoding. If insufficient memory
is available for the new value string, XStringListToTextProperty does
not set any fields in the XTextProperty structure and returns a zero
status. Otherwise, it returns a nonzero status. To free the storage for the
value field, use XFree.

The XTextPropertyToStringList function returns
a list of strings representing the null-separated elements of the specified
XTextProperty structure. The data in text_prop must be of type STRING
and format 8. Multiple elements of the property (for example, the strings
in a disjoint text selection) are separated by NULL (encoding 0). The contents
of the property are not null-terminated. If insufficient memory is available
for the list and its elements, XTextPropertyToStringList sets no return
values and returns a zero status. Otherwise, it returns a nonzero status.
To free the storage for the list and its contents, use XFreeStringList.

The XFreeStringList function releases memory allocated by XmbTextPropertyToTextList,
Xutf8TextPropertyToTextList and XTextPropertyToStringList and the
missing charset list allocated by XCreateFontSet.