Registry server LDB backend REG_SZ type: Always use UTF8 encoding
authorMatthias Dieter Wallnöfer <mwallnoefer@yahoo.de>
Thu, 18 Sep 2008 17:52:52 +0000 (19:52 +0200)
committerJelmer Vernooij <jelmer@samba.org>
Tue, 21 Oct 2008 12:40:42 +0000 (14:40 +0200)
We should save data OS independent in the LDB files.

source4/lib/registry/ldb.c

index 386da2b12c03abe50a5807e4a3dd6c6b1884ca4f..53ec076db3f8eb69133f6f26dd63041f65a5fac7 100644 (file)
@@ -61,7 +61,7 @@ static void reg_ldb_unpack_value(TALLOC_CTX *mem_ctx,
        case REG_SZ:
        case REG_EXPAND_SZ:
                if (val != NULL)
-                       data->length = convert_string_talloc(mem_ctx, iconv_convenience, CH_UNIX, CH_UTF16,
+                       data->length = convert_string_talloc(mem_ctx, iconv_convenience, CH_UTF8, CH_UTF16,
                                                     val->data, val->length,
                                                     (void **)&data->data);
                else {
@@ -106,7 +106,7 @@ static struct ldb_message *reg_ldb_pack_value(struct ldb_context *ctx,
        case REG_SZ:
        case REG_EXPAND_SZ:
                if (data.data[0] != '\0') {
-                       val.length = convert_string_talloc(mem_ctx, lp_iconv_convenience(global_loadparm), CH_UTF16, CH_UNIX,
+                       val.length = convert_string_talloc(mem_ctx, lp_iconv_convenience(global_loadparm), CH_UTF16, CH_UTF8,
                                                   (void *)data.data,
                                                   data.length,
                                                   (void **)&val.data);