-/* $NetBSD: stringlist.c,v 1.13 2008/04/28 20:22:59 martin Exp $\r
+/* $NetBSD: stringlist.c,v 1.13 2008/04/28 20:22:59 martin Exp $\r
\r
* Copyright (c) 1994, 1999 The NetBSD Foundation, Inc.\r
* All rights reserved.\r
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\r
* POSSIBILITY OF SUCH DAMAGE.\r
*/\r
-\r
-#pragma warning ( disable : 4018 )\r
+#if defined(_MSC_VER) /* Handle Microsoft VC++ compiler specifics. */\r
+ #pragma warning ( disable : 4018 )\r
+#endif\r
\r
#include <sys/cdefs.h>\r
#if defined(LIBC_SCCS) && !defined(lint)\r
__weak_alias(sl_delete,_sl_delete)\r
#endif\r
\r
-#define _SL_CHUNKSIZE 20\r
+#define _SL_CHUNKSIZE 20\r
\r
/*\r
* sl_init(): Initialize a string list\r
StringList *\r
sl_init(void)\r
{\r
- StringList *sl;\r
-\r
- sl = malloc(sizeof(StringList));\r
- if (sl == NULL)\r
- return NULL;\r
-\r
- sl->sl_cur = 0;\r
- sl->sl_max = _SL_CHUNKSIZE;\r
- sl->sl_str = malloc(sl->sl_max * sizeof(char *));\r
- if (sl->sl_str == NULL) {\r
- free(sl);\r
- sl = NULL;\r
- }\r
- return sl;\r
+ StringList *sl;\r
+\r
+ sl = malloc(sizeof(StringList));\r
+ if (sl == NULL)\r
+ return NULL;\r
+\r
+ sl->sl_cur = 0;\r
+ sl->sl_max = _SL_CHUNKSIZE;\r
+ sl->sl_str = malloc(sl->sl_max * sizeof(char *));\r
+ if (sl->sl_str == NULL) {\r
+ free(sl);\r
+ sl = NULL;\r
+ }\r
+ return sl;\r
}\r
\r
\r
sl_add(StringList *sl, char *name)\r
{\r
\r
- _DIAGASSERT(sl != NULL);\r
+ _DIAGASSERT(sl != NULL);\r
\r
- if (sl->sl_cur == sl->sl_max - 1) {\r
- char **new;\r
+ if (sl->sl_cur == sl->sl_max - 1) {\r
+ char **new;\r
\r
- new = realloc(sl->sl_str,\r
- (sl->sl_max + _SL_CHUNKSIZE) * sizeof(char *));\r
- if (new == NULL)\r
- return -1;\r
- sl->sl_max += _SL_CHUNKSIZE;\r
- sl->sl_str = new;\r
- }\r
- sl->sl_str[sl->sl_cur++] = name;\r
- return 0;\r
+ new = realloc(sl->sl_str,\r
+ (sl->sl_max + _SL_CHUNKSIZE) * sizeof(char *));\r
+ if (new == NULL)\r
+ return -1;\r
+ sl->sl_max += _SL_CHUNKSIZE;\r
+ sl->sl_str = new;\r
+ }\r
+ sl->sl_str[sl->sl_cur++] = name;\r
+ return 0;\r
}\r
\r
\r
void\r
sl_free(StringList *sl, int all)\r
{\r
- size_t i;\r
-\r
- if (sl == NULL)\r
- return;\r
- if (sl->sl_str) {\r
- if (all)\r
- for (i = 0; i < sl->sl_cur; i++)\r
- free(sl->sl_str[i]);\r
- free(sl->sl_str);\r
- }\r
- free(sl);\r
+ size_t i;\r
+\r
+ if (sl == NULL)\r
+ return;\r
+ if (sl->sl_str) {\r
+ if (all)\r
+ for (i = 0; i < sl->sl_cur; i++)\r
+ free(sl->sl_str[i]);\r
+ free(sl->sl_str);\r
+ }\r
+ free(sl);\r
}\r
\r
\r
char *\r
sl_find(StringList *sl, const char *name)\r
{\r
- size_t i;\r
+ size_t i;\r
\r
- _DIAGASSERT(sl != NULL);\r
+ _DIAGASSERT(sl != NULL);\r
\r
- for (i = 0; i < sl->sl_cur; i++)\r
- if (strcmp(sl->sl_str[i], name) == 0)\r
- return sl->sl_str[i];\r
+ for (i = 0; i < sl->sl_cur; i++)\r
+ if (strcmp(sl->sl_str[i], name) == 0)\r
+ return sl->sl_str[i];\r
\r
- return NULL;\r
+ return NULL;\r
}\r
\r
int\r
sl_delete(StringList *sl, const char *name, int all)\r
{\r
- size_t i, j;\r
-\r
- for (i = 0; i < sl->sl_cur; i++)\r
- if (strcmp(sl->sl_str[i], name) == 0) {\r
- if (all)\r
- free(sl->sl_str[i]);\r
- for (j = i + 1; j < sl->sl_cur; j++)\r
- sl->sl_str[j - 1] = sl->sl_str[j];\r
- sl->sl_str[--sl->sl_cur] = NULL;\r
- return 0;\r
- }\r
- return -1;\r
+ size_t i, j;\r
+\r
+ for (i = 0; i < sl->sl_cur; i++)\r
+ if (strcmp(sl->sl_str[i], name) == 0) {\r
+ if (all)\r
+ free(sl->sl_str[i]);\r
+ for (j = i + 1; j < sl->sl_cur; j++)\r
+ sl->sl_str[j - 1] = sl->sl_str[j];\r
+ sl->sl_str[--sl->sl_cur] = NULL;\r
+ return 0;\r
+ }\r
+ return -1;\r
}\r
\r