STRINGLIST(3)

名称
stringlist, sl_init, sl_add, sl_free, sl_find - 文字列リスト操作関数

ライブラリ
libc

書式
<stringlist.h> StringList * sl_init() void sl_add(StringList *sl, char *item) void sl_free(StringList *sl, int freeall) char * sl_find(StringList *sl, char *item)

解説
stringlist 関数は、必要に応じて自動的に展開する文字列の一覧である 文字列リストを操作します。

StringList 構造は、次のような定義を持ちます :

    typedef struct _stringlist {
            char    **sl_str;
            size_t    sl_max;
            size_t    sl_cur;
    } StringList;

sl_str
    一覧が入っている配列の基底ポインタです。

sl_max
    sl_str のサイズ。

sl_cur
    現在の要素の sl_str におけるオフセット。

以下のような文字列リスト操作関数が使用できます :

sl_init()
    文字列リストを作成します。 StringList へのポインタを 返します。

sl_free()
    sl および sl->sl_str 配列が占有するメモリを解放します。 freeall が非 0 の場合は、 sl->sl_str の中の項目も解放されます。

sl_add()
    sl->sl_str のサイズを拡張して、 item を sl->sl_str の sl->sl_cur の位置に追加します。

sl_find()
    sl の中の item を探し、見つからない場合は NULL を返します。

関連項目
free(3), malloc(3)