RC\_STRLIST(3) Library Functions Manual (smm) RC\_STRLIST(3)

# [NAME](#NAME)

`rc_stringlist_add`, `rc_stringlist_addu`, `rc_stringlist_delete`, `rc_stringlist_free`, `rc_stringlist_new`, `rc_stringlist_sort` — RC string list functions

# [LIBRARY](#LIBRARY)

Run Command library (librc, -lrc)

# [SYNOPSIS](#SYNOPSIS)

`#include <rc.h>`

`RC_STRINGLIST *`  
`rc_stringlist_new`(`void`);

`RC_STRING *`  
`rc_stringlist_add`(`RC_STRINGLIST *list`, `const char *item`);

`RC_STRING *`  
`rc_stringlist_addu`(`RC_STRINGLIST *list`, `const char *item`);

`bool`  
`rc_stringlist_delete`(`RC_STRINGLIST`, `const char *item`);

`void`  
`rc_stringlist_free`(`RC_STRINGLIST *list`);

`void`  
`rc_stringlist_sort`(`RC_STRINGLIST *list`);

# [DESCRIPTION](#DESCRIPTION)

These functions provide an easy means of manipulating string lists. They are basically wrappers around TAILQ macros found in [queue(3)](/man/os/openrc/queue.3).

[`rc_stringlist_new`](#rc_stringlist_new)() creates a new list head to store the list.

[`rc_stringlist_add`](#rc_stringlist_add)() adds a malloced copy of `item` to `list`. It returns a pointer to the new item on success, or NULL on failure and sets `errno` accordingly. [`rc_stringlist_addu`](#rc_stringlist_addu)() only works if `list` does not already contain `item`.

[`rc_stringlist_delete`](#rc_stringlist_delete)() removes and frees `item` from `list`, retuning true on success, otherwise false.

[`rc_stringlist_sort`](#rc_stringlist_sort)() sorts the `list` according to C locale.

[`rc_stringlist_free`](#rc_stringlist_free)() frees each item on `list` and the `list` itself.

# [SEE ALSO](#SEE_ALSO)

[malloc(3)](/man/os/openrc/malloc.3), [free(3)](/man/os/openrc/free.3), [queue(3)](/man/os/openrc/queue.3), [strcmp(3)](/man/os/openrc/strcmp.3)

# [AUTHORS](#AUTHORS)

Roy Marples &lt;roy@marples.name&gt;

March 16, 2008 OpenRC

---

Document: rc_stringlist(3) from openrc 0.64.1-r2 (Chainguard OS)
Source: https://github.com/OpenRC/openrc
