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:
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 is not found.
|