STRINGLIST(3) |
Library Functions Manual |
STRINGLIST(3) |
NAME
stringlist, sl_init, sl_add, sl_free, sl_find, sl_delete — stringlist manipulation functions
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <stringlist.h>
StringList *
sl_init();
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.
HISTORY
The stringlist functions appeared in NetBSD 1.3.