libwbclient: Add wbcAllocateStringArray
authorVolker Lendecke <vl@samba.org>
Sat, 3 Apr 2010 11:37:01 +0000 (13:37 +0200)
committerVolker Lendecke <vl@samba.org>
Mon, 19 Apr 2010 12:27:17 +0000 (14:27 +0200)
nsswitch/libwbclient/wbclient.c
nsswitch/libwbclient/wbclient_internal.h

index 99248710e6dc272cfcff7786819039a715fc269a..fa51cbd8cb7b683796fc56f2bc154f2d330320b0 100644 (file)
@@ -219,6 +219,22 @@ char *wbcStrDup(const char *str)
        return result;
 }
 
+static void wbcStringArrayDestructor(void *ptr)
+{
+       char **p = (char **)ptr;
+       while (*p != NULL) {
+               free(*p);
+               p += 1;
+       }
+}
+
+const char **wbcAllocateStringArray(int num_strings)
+{
+       return (const char **)wbcAllocateMemory(
+               num_strings + 1, sizeof(const char *),
+               wbcStringArrayDestructor);
+}
+
 wbcErr wbcLibraryDetails(struct wbcLibraryDetails **_details)
 {
        struct wbcLibraryDetails *info;
index 78178cbafe92b03c9619fdbeea6e1bd3545ef741..31f413057e04de096b6ecd74ff2a4ef49383e721 100644 (file)
@@ -36,5 +36,6 @@ void *wbcAllocateMemory(size_t nelem, size_t elsize,
                        void (*destructor)(void *ptr));
 
 char *wbcStrDup(const char *str);
+const char **wbcAllocateStringArray(int num_strings);
 
 #endif      /* _WBCLIENT_INTERNAL_H */