Other Alias
stringlist, sl_init, sl_add, sl_free, sl_deleteLIBRARY
Lb libbsdSYNOPSIS
In bsd/stringlist.h Ft StringList * Fn sl_init void Ft int Fn sl_add StringList *sl char *item Ft void Fn sl_free StringList *sl int freeall Ft char * Fn sl_find StringList *sl const char *item Ft int Fn sl_delete StringList *sl const char *item int freeitDESCRIPTION
The 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:
- Fn sl_init
- Create a stringlist. Returns a pointer to a StringList or NULL in case of failure.
- Fn 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.
- Fn 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.
- Fn sl_find
- Find item in sl returning NULL if it's not found.
- Fn 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 functions appeared in Fx 2.2.6 and Nx 1.3 .