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