STRINGLIST(3) Library Functions Manual STRINGLIST(3)

stringlist, sl_init, sl_add, sl_free, sl_findstringlist manipulation functions

Standard C Library (libc, -lc)

#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, char *item);

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
a pointer to the base of the array containing the list.
sl_max
the size of sl_str.
sl_cur
the offset in sl_str of the current element.

The following stringlist manipulation functions are available:

()
Create a stringlist. Returns a pointer to a StringList, or NULL in case of failure.
()
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.
()
Add item to sl->sl_str at sl->sl_cur, extending the size of sl->sl_str. Returns zero upon success, -1 upon failure.
()
Find item in sl, returning NULL if it is not found.

free(3), malloc(3)

The stringlist functions appeared in FreeBSD 2.2.6 and NetBSD 1.3.

November 28, 1999 macOS 15.2