unsigned int i;
struct ldb_message_element *el;
- *max_subkeynamelen = 0;
-
for (i = 0; i < kd->subkey_count; i++) {
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) {
struct ldb_message_element *el;
W_ERROR_NOT_OK_RETURN(cache_values(kd));
- if (max_valbufsize != NULL)
- *max_valbufsize = 0;
-
- if (max_valnamelen != NULL)
- *max_valnamelen = 0;
-
for (i = 0; i < kd->value_count; i++) {
if (max_valnamelen != NULL) {
el = ldb_msg_find_element(kd->values[i], "value");
talloc_free(data.data);
}
}
+
+ if (max_valnamelen != NULL) {
+ /* for UTF16 encoding */
+ *max_valnamelen *= 2;
+ }
}
return WERR_OK;