stringlist.3bsd - Man Page
stringlist manipulation functions
Library
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;
where:
- 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.
The following stringlist manipulation functions are available:
- 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
History
The stringlist functions appeared in FreeBSD 2.2.6 and NetBSD 1.3.
Referenced By
The man pages sl_add.3bsd(3), sl_delete.3bsd(3), sl_find.3bsd(3), sl_free.3bsd(3) and sl_init.3bsd(3) are aliases of stringlist.3bsd(3).