4 * Copyright (c) 1999-2002, Darren Hiebert
6 * This source code is released for free distribution under the terms of the
7 * GNU General Public License.
9 * Defines external interface to resizable string lists.
17 #include "general.h" /* must always come first */
24 typedef struct sStringList
{
33 extern stringList
*stringListNew (void);
34 extern void stringListAdd (stringList
*const current
, vString
*string
);
35 extern void stringListRemoveLast (stringList
*const current
);
36 extern void stringListCombine (stringList
*const current
, stringList
*const from
);
37 extern stringList
* stringListNewFromArgv (const char* const* const list
);
38 extern stringList
* stringListNewFromFile (const char* const fileName
);
39 extern void stringListClear (stringList
*const current
);
40 extern unsigned int stringListCount (const stringList
*const current
);
41 extern vString
* stringListItem (const stringList
*const current
, const unsigned int indx
);
42 extern vString
* stringListLast (const stringList
*const current
);
43 extern void stringListDelete (stringList
*const current
);
44 extern boolean
stringListHasInsensitive (const stringList
*const current
, const char *const string
);
45 extern boolean
stringListHas (const stringList
*const current
, const char *const string
);
46 extern boolean
stringListHasTest (const stringList
*const current
, boolean (*test
)(const char *s
));
47 extern boolean
stringListRemoveExtension (stringList
* const current
, const char* const extension
);
48 extern boolean
stringListExtensionMatched (const stringList
* const list
, const char* const extension
);
49 extern boolean
stringListFileMatched (const stringList
* const list
, const char* const str
);
50 extern void stringListPrint (const stringList
*const current
);
52 #endif /* _STRLIST_H */
54 /* vi:set tabstop=4 shiftwidth=4: */