other versions
- stretch 0.8.3-1
| STRINGLIST(3) | Library Functions Manual | STRINGLIST(3) |
NAME¶
stringlist, sl_init,
sl_add, sl_free,
sl_find, sl_delete —
stringlist manipulation functions
LIBRARY¶
library “libbsd”SYNOPSIS¶
#include <bsd/stringlist.h>
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¶
Thestringlist 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
NULLin 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
NULLif it's not found. sl_delete()- Remove item from the list. If
freeit is non-zero, the string is freed. Returns
0if the name is found and-1if the name is not found.
SEE ALSO¶
free(3), malloc(3)HISTORY¶
Thestringlist functions appeared in
FreeBSD 2.2.6 and NetBSD 1.3.
| May 6, 2010 | Linux 4.9.0-9-amd64 |