---
name: "XStringListToTextProperty"
section: "3x"
platform: "linux"
package: "libx11-dev"
version: "4.3.0.dfsg.1-14sarge7"
release: "Debian 3.1 (Sarge)"
platforms: ["linux"]
url: "https://new.carta.tech/XStringListToTextProperty/3x"
---

# XStringListToTextProperty(3x)

convert string lists and text property structure

## NAME

XStringListToTextProperty, XTextPropertyToStringList, XFreeStringList, XTextProperty - convert string lists and text property structure

## SYNTAX

Status XStringListToTextProperty(char \*\**list*, int *count*, XTextProperty \**text\_prop\_return*);

Status XTextPropertyToStringList(XTextProperty \**text\_prop*, char \*\*\**list\_return*, int \**count\_return*);

void XFreeStringList(char \*\**list*);

## ARGUMENTS

- *count*

  Specifies the number of strings.

- *count\_return*

  Returns the number of strings.

- *list*

  Specifies the list of strings to be freed.

- *list*

  Specifies a list of null-terminated character strings.

- *list\_return*

  Returns a list of null-terminated character strings.

- *text\_prop*

  Specifies the *XTextProperty* structure to be used.

- *text\_prop\_return*

  Returns the *XTextProperty* structure.

## DESCRIPTION

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*.

## STRUCTURES

The *XTextProperty* structure contains:

```
typedef struct {
	unsigned char *value;
	Atom encoding;
	int format;
	unsigned long nitems;
} XTextProperty;

```

## SEE ALSO

XAllocClassHint(3X11), XAllocIconSize(3X11), XAllocSizeHints(3X11), XAllocWMHints(3X11), XFree(3X11), XSetCommand(3X11), XSetTransientForHint(3X11), XSetTextProperty(3X11), XSetWMClientMachine(3X11), XSetWMColormapWindows(3X11), XSetWMIconName(3X11), XSetWMName(3X11), XSetWMProperties(3X11), XSetWMProtocols(3X11)\
 *Xlib - C Language X Interface*
