From 90d2902c73715c7777ad67b2a33f32a79f72764c Mon Sep 17 00:00:00 2001 From: Matthias Dieter Wallnöfer Date: Mon, 29 Mar 2010 20:36:32 +0200 Subject: s4:registry - move the UTF16 length calculation for "reg_key_get_info" into the RPC server code It does fit better there. --- source4/lib/registry/ldb.c | 8 -------- source4/rpc_server/winreg/rpc_winreg.c | 9 +++++++++ 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/source4/lib/registry/ldb.c b/source4/lib/registry/ldb.c index b897641f33..36761e5273 100644 --- a/source4/lib/registry/ldb.c +++ b/source4/lib/registry/ldb.c @@ -916,9 +916,6 @@ static WERROR ldb_get_key_info(TALLOC_CTX *mem_ctx, el = ldb_msg_find_element(kd->subkeys[i], "key"); *max_subkeynamelen = MAX(*max_subkeynamelen, el->values[0].length); } - - /* for UTF16 encoding */ - *max_subkeynamelen *= 2; } if (max_valnamelen != NULL || max_valbufsize != NULL) { @@ -948,11 +945,6 @@ static WERROR ldb_get_key_info(TALLOC_CTX *mem_ctx, talloc_free(data.data); } } - - if (max_valnamelen != NULL) { - /* for UTF16 encoding */ - *max_valnamelen *= 2; - } } talloc_free(default_value.data); diff --git a/source4/rpc_server/winreg/rpc_winreg.c b/source4/rpc_server/winreg/rpc_winreg.c index 1b4044ffb7..002eb685ea 100644 --- a/source4/rpc_server/winreg/rpc_winreg.c +++ b/source4/rpc_server/winreg/rpc_winreg.c @@ -464,6 +464,15 @@ static WERROR dcesrv_winreg_QueryInfoKey(struct dcesrv_call_state *dce_call, r->out.last_changed_time, r->out.max_subkeylen, r->out.max_valnamelen, r->out.max_valbufsize); + if (r->out.max_subkeylen != NULL) { + /* for UTF16 encoding */ + *r->out.max_subkeylen *= 2; + } + if (r->out.max_valnamelen != NULL) { + /* for UTF16 encoding */ + *r->out.max_valnamelen *= 2; + } + if (classname != NULL) { r->out.classname->name = classname; r->out.classname->name_len = 2*strlen_m_term(classname); -- cgit