From 35f1e02ca4c31214e85b7c25d8f695eb035871d7 Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Mon, 2 Feb 2009 16:41:44 +0100 Subject: librpc: add ndr_size_string_array(). Guenther --- source3/librpc/ndr/ndr_string.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'source3/librpc/ndr') diff --git a/source3/librpc/ndr/ndr_string.c b/source3/librpc/ndr/ndr_string.c index 86d7b26586..985d0f4daa 100644 --- a/source3/librpc/ndr/ndr_string.c +++ b/source3/librpc/ndr/ndr_string.c @@ -595,6 +595,29 @@ _PUBLIC_ void ndr_print_string_array(struct ndr_print *ndr, const char *name, co ndr->depth--; } +_PUBLIC_ size_t ndr_size_string_array(const char **a, uint32_t count, int flags) +{ + uint32_t i; + size_t size = 0; + + switch (flags & LIBNDR_STRING_FLAGS) { + case LIBNDR_FLAG_STR_NULLTERM: + for (i = 0; i < count; i++) { + size += strlen_m_term(a[i]); + } + break; + case LIBNDR_FLAG_STR_NOTERM: + for (i = 0; i < count; i++) { + size += strlen_m(a[i]); + } + break; + default: + return 0; + } + + return size; +} + /** * Return number of elements in a string including the last (zeroed) element */ -- cgit