NAME
stringlist, sl_init, sl_add, sl_free, sl_find, sl_delete — stringlist manipulation functionsLIBRARY
library “libbsd”SYNOPSIS
#include <stringlist.h> (See libbsd(7) for include usage.)StringList *
sl_init(void); int
sl_add(StringList *sl, char *item); void
sl_free(StringList *sl, int freeall); char *
sl_find(StringList *sl, const char *item); int
sl_delete(StringList *sl, const char *item, int freeit);
DESCRIPTION
The stringlist functions manipulate stringlists, which are lists of strings that extend automatically if necessary. The StringList structure has the following definition:typedef struct _stringlist { char **sl_str; size_t sl_max; size_t sl_cur; } StringList;
- sl_str
- is a pointer to the base of the array containing the list,
- sl_max
- is the size of sl_str, and
- sl_cur
- is the offset in sl_str of the current element.
- sl_init()
- Create a stringlist. Returns a pointer to a
StringList, or
NULL
in case of failure. - sl_free()
- Releases memory occupied by sl and the sl->sl_str array. If freeall is non-zero, then each of the items within sl->sl_str is released as well.
- sl_add()
- Add item to sl->sl_str at sl->sl_cur, extending the size of sl->sl_str. Returns zero upon success, -1 upon failure.
- sl_find()
- Find item in
sl, returning
NULL
if it's not found. - sl_delete()
- Remove item from the list.
If freeit is non-zero, the string is
freed. Returns
0
if the name is found and-1
if the name is not found.
SEE ALSO
free(3), malloc(3)HISTORY
The stringlist functions appeared in FreeBSD 2.2.6 and NetBSD 1.3.May 6, 2010 | Debian |