From: Ralph Boehme Date: Fri, 17 Jan 2020 18:15:22 +0000 (+0100) Subject: lib/util: add talloc_alpha_strcpy() X-Git-Tag: ldb-2.1.1~177 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=276d280d27e1bfa959da4d9f4e061dba87bb5dfc;p=thirdparty%2Fsamba.git lib/util: add talloc_alpha_strcpy() Signed-off-by: Ralph Boehme Reviewed-by: Andreas Schneider --- diff --git a/lib/util/charset/charset.h b/lib/util/charset/charset.h index ff466c34bb9..ef7911a6254 100644 --- a/lib/util/charset/charset.h +++ b/lib/util/charset/charset.h @@ -112,6 +112,9 @@ size_t strlen_m(const char *s); size_t strlen_m_term(const char *s); size_t strlen_m_term_null(const char *s); char *alpha_strcpy(char *dest, const char *src, const char *other_safe_chars, size_t maxlength); +char *talloc_alpha_strcpy(TALLOC_CTX *mem_ctx, + const char *src, + const char *other_safe_chars); void string_replace_m(char *s, char oldc, char newc); bool strcsequal(const char *s1,const char *s2); bool strequal_m(const char *s1, const char *s2); diff --git a/lib/util/util_str_common.c b/lib/util/util_str_common.c index 0933e183c80..1e93a46fbad 100644 --- a/lib/util/util_str_common.c +++ b/lib/util/util_str_common.c @@ -159,3 +159,25 @@ char *alpha_strcpy(char *dest, return dest; } + +char *talloc_alpha_strcpy(TALLOC_CTX *mem_ctx, + const char *src, + const char *other_safe_chars) +{ + char *dest = NULL; + size_t slen; + + if (src == NULL) { + return NULL; + } + + slen = strlen(src); + + dest = talloc_zero_size(mem_ctx, slen + 1); + if (dest == NULL) { + return NULL; + } + + alpha_strcpy(dest, src, other_safe_chars, slen + 1); + return dest; +}