diff options
author | Luke Leighton <lkcl@samba.org> | 1998-12-09 16:28:04 +0000 |
---|---|---|
committer | Luke Leighton <lkcl@samba.org> | 1998-12-09 16:28:04 +0000 |
commit | 74576a48fdf71e4264a892fda58302053f809670 (patch) | |
tree | 4e64111670ec80db301328b8aab1596857b9e97f /source3/rpc_parse/parse_prs.c | |
parent | 1f989cda944f21b3ba829e1008f1189d2d3671a8 (diff) | |
download | samba-74576a48fdf71e4264a892fda58302053f809670.tar.gz samba-74576a48fdf71e4264a892fda58302053f809670.tar.bz2 samba-74576a48fdf71e4264a892fda58302053f809670.zip |
adding some enumerate services code, client and server.
(This used to be commit dacf5b152bf74cc3ee9a816911384a5eb0e77afa)
Diffstat (limited to 'source3/rpc_parse/parse_prs.c')
-rw-r--r-- | source3/rpc_parse/parse_prs.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/source3/rpc_parse/parse_prs.c b/source3/rpc_parse/parse_prs.c index 75432627ab..ef327f01a1 100644 --- a/source3/rpc_parse/parse_prs.c +++ b/source3/rpc_parse/parse_prs.c @@ -237,21 +237,22 @@ BOOL prs_unistr3(BOOL charmode, char *name, UNISTR3 *str, prs_struct *ps, int de BOOL prs_unistr(char *name, prs_struct *ps, int depth, UNISTR *str) { char *q = mem_data(&(ps->data), ps->offset); - int i = 0; + int i = -1; uint8 *start = (uint8*)q; if (q == NULL) return False; - do + do { + i++; RW_SVAL(ps->io, q, str->buffer[i],0); q += 2; - i++; - - } while ((i < sizeof(str->buffer) / sizeof(str->buffer[0])) && + } + while ((i < sizeof(str->buffer) / sizeof(str->buffer[0])) && (str->buffer[i] != 0)); - ps->offset += i*2; + + ps->offset += (i+1)*2; dump_data(5+depth, (char *)start, i * 2); |