dwww Home | Manual pages | Find package

stringlist(3bsd)                     LOCAL                    stringlist(3bsd)

NAME
     stringlist, sl_init, sl_add, sl_free, sl_find, sl_delete — stringlist ma-
     nipulation functions

LIBRARY
     Utility functions from BSD systems (libbsd, -lbsd)

SYNOPSIS
     #include <stringlist.h>
     (See libbsd(7) for include usage.)

     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
     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 fail-
                    ure.

       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.

SEE ALSO
     free(3), malloc(3)

HISTORY
     The stringlist functions appeared in FreeBSD 2.2.6 and NetBSD 1.3.

BSD                               May 6, 2010                              BSD

Generated by dwww version 1.15 on Tue Jun 25 13:29:40 CEST 2024.