summaryrefslogtreecommitdiffstats
path: root/lib/libadmin/strlist.c
diff options
context:
space:
mode:
authorcvsadm <cvsadm>2005-01-21 00:44:34 +0000
committercvsadm <cvsadm>2005-01-21 00:44:34 +0000
commitb2093e3016027d6b5cf06b3f91f30769bfc099e2 (patch)
treecf58939393a9032182c4fbc4441164a9456e82f8 /lib/libadmin/strlist.c
downloadds-ldapserver7x.tar.gz
ds-ldapserver7x.tar.xz
ds-ldapserver7x.zip
Moving NSCP Directory Server from DirectoryBranch to TRUNK, initial drop. (foxworth)ldapserver7x
Diffstat (limited to 'lib/libadmin/strlist.c')
-rw-r--r--lib/libadmin/strlist.c46
1 files changed, 46 insertions, 0 deletions
diff --git a/lib/libadmin/strlist.c b/lib/libadmin/strlist.c
new file mode 100644
index 00000000..46a0c600
--- /dev/null
+++ b/lib/libadmin/strlist.c
@@ -0,0 +1,46 @@
+/** BEGIN COPYRIGHT BLOCK
+ * Copyright 2001 Sun Microsystems, Inc.
+ * Portions copyright 1999, 2001-2003 Netscape Communications Corporation.
+ * All rights reserved.
+ * END COPYRIGHT BLOCK **/
+/*
+ * strlist.c: Managing a handle to a list of strings
+ *
+ * All blame to Mike McCool
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "netsite.h"
+#include <libadmin/libadmin.h>
+
+NSAPI_PUBLIC char **new_strlist(int size)
+{
+ char **new_list;
+ register int x;
+
+ new_list = (char **) MALLOC((size+1)*(sizeof(char *)));
+/* <= so we get the one right after the given size as well */
+ for(x=0; x<= size; x++)
+ new_list[x] = NULL;
+
+ return new_list;
+}
+
+NSAPI_PUBLIC char **grow_strlist(char **strlist, int newsize)
+{
+ char **ans;
+
+ ans = (char **) REALLOC(strlist, (newsize+1)*sizeof(char *));
+
+ return ans;
+}
+
+NSAPI_PUBLIC void free_strlist(char **strlist)
+{
+ int x;
+
+ for(x=0; (strlist[x]); x++) free(strlist[x]);
+ free(strlist);
+}