From 68a9bd0bf612c7a2583956e978a0080bc5b02b88 Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Wed, 12 Dec 2007 00:42:22 +0100 Subject: Add split_domain_user() (not to mix with winbind variants). Guenther (This used to be commit bd5308e5f63e4f692761557d0ecdee7226b66a15) --- source3/lib/util.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'source3') diff --git a/source3/lib/util.c b/source3/lib/util.c index 19c3e0c65b..73b035b22b 100644 --- a/source3/lib/util.c +++ b/source3/lib/util.c @@ -3197,6 +3197,30 @@ int get_safe_IVAL(const char *buf_base, size_t buf_len, char *ptr, size_t off, i return IVAL(ptr,off); } +/**************************************************************** + Split DOM\user into DOM and user. Do not mix with winbind variants of that + call (they take care of winbind separator and other winbind specific settings). +****************************************************************/ + +void split_domain_user(TALLOC_CTX *mem_ctx, + const char *full_name, + char **domain, + char **user) +{ + const char *p = NULL; + + p = strchr_m(full_name, '\\'); + + if (p != NULL) { + *domain = talloc_strndup(mem_ctx, full_name, + PTR_DIFF(p, full_name)); + *user = talloc_strdup(mem_ctx, p+1); + } else { + *domain = talloc_strdup(mem_ctx, ""); + *user = talloc_strdup(mem_ctx, full_name); + } +} + #if 0 Disable these now we have checked all code paths and ensured -- cgit