diff options
Diffstat (limited to 'source3/rpc_parse')
-rw-r--r-- | source3/rpc_parse/parse_misc.c | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/source3/rpc_parse/parse_misc.c b/source3/rpc_parse/parse_misc.c index 1ea4ecf46f..34611a48fd 100644 --- a/source3/rpc_parse/parse_misc.c +++ b/source3/rpc_parse/parse_misc.c @@ -127,59 +127,3 @@ bool smb_io_uuid(const char *desc, struct GUID *uuid, return True; } - -/******************************************************************* - Inits a UNISTR2 structure. -********************************************************************/ - -void init_unistr2(UNISTR2 *str, const char *buf, enum unistr2_term_codes flags) -{ - size_t len = 0; - uint32 num_chars = 0; - - if (buf) { - /* We always null terminate the copy. */ - len = strlen(buf) + 1; - if ( flags == UNI_STR_DBLTERMINATE ) - len++; - } - - if (buf == NULL || len == 0) { - /* no buffer -- nothing to do */ - str->uni_max_len = 0; - str->offset = 0; - str->uni_str_len = 0; - - return; - } - - - str->buffer = TALLOC_ZERO_ARRAY(talloc_tos(), uint16, len); - if (str->buffer == NULL) { - smb_panic("init_unistr2: malloc fail"); - return; - } - - /* Ensure len is the length in *bytes* */ - len *= sizeof(uint16); - - /* - * The UNISTR2 must be initialized !!! - * jfm, 7/7/2001. - */ - if (buf) { - rpcstr_push((char *)str->buffer, buf, len, STR_TERMINATE); - num_chars = strlen_w(str->buffer); - if (flags == UNI_STR_TERMINATE || flags == UNI_MAXLEN_TERMINATE) { - num_chars++; - } - if ( flags == UNI_STR_DBLTERMINATE ) - num_chars += 2; - } - - str->uni_max_len = num_chars; - str->offset = 0; - str->uni_str_len = num_chars; - if ( num_chars && ((flags == UNI_MAXLEN_TERMINATE) || (flags == UNI_BROKEN_NON_NULL)) ) - str->uni_max_len++; -} |