diff options
Diffstat (limited to 'source3/rpc_parse/parse_net.c')
-rw-r--r-- | source3/rpc_parse/parse_net.c | 30 |
1 files changed, 8 insertions, 22 deletions
diff --git a/source3/rpc_parse/parse_net.c b/source3/rpc_parse/parse_net.c index b21f612c8a..c6e366bbbe 100644 --- a/source3/rpc_parse/parse_net.c +++ b/source3/rpc_parse/parse_net.c @@ -296,28 +296,18 @@ makes an NET_R_TRUST_DOM_LIST structure. BOOL make_r_trust_dom(NET_R_TRUST_DOM_LIST *r_t, uint32 num_doms, char **dom_name) { - uint32 i = 0; - if (r_t == NULL) return False; DEBUG(5,("make_r_trust_dom\n")); - for (i = 0; i < MAX_TRUST_DOMS; i++) - { - r_t->uni_trust_dom_name[i].uni_str_len = 0; - r_t->uni_trust_dom_name[i].uni_max_len = 0; - } - if (num_doms > MAX_TRUST_DOMS) num_doms = MAX_TRUST_DOMS; - - for (i = 0; i < num_doms; i++) + make_buffer2_multi(&r_t->uni_trust_dom_name, + dom_name, num_doms); + if (num_doms == 0) { - fstring domain_name; - fstrcpy(domain_name, dom_name[i]); - strupper(domain_name); - make_unistr2(&(r_t->uni_trust_dom_name[i]), domain_name, strlen(domain_name)+1); - /* the use of UNISTR2 here is non-standard. */ - r_t->uni_trust_dom_name[i].undoc = 0x1; + r_t->uni_trust_dom_name.buf_max_len = 0x2; + r_t->uni_trust_dom_name.buf_len = 0x2; } + r_t->uni_trust_dom_name.undoc = 0x1; r_t->status = 0; @@ -329,17 +319,13 @@ reads or writes an NET_R_TRUST_DOM_LIST structure. ********************************************************************/ BOOL net_io_r_trust_dom(char *desc, NET_R_TRUST_DOM_LIST *r_t, prs_struct *ps, int depth) { - uint32 i; if (r_t == NULL) return False; prs_debug(ps, depth, desc, "net_io_r_trust_dom"); depth++; - for (i = 0; i < MAX_TRUST_DOMS; i++) - { - if (r_t->uni_trust_dom_name[i].uni_str_len == 0) break; - smb_io_unistr2("", &(r_t->uni_trust_dom_name[i]), True, ps, depth); - } + smb_io_buffer2("", &r_t->uni_trust_dom_name, True, ps, depth); + prs_align(ps); prs_uint32("status", ps, depth, &(r_t->status)); |