summaryrefslogtreecommitdiff
path: root/source4/param
diff options
context:
space:
mode:
Diffstat (limited to 'source4/param')
-rw-r--r--source4/param/loadparm.c8
-rw-r--r--source4/param/util.c1
2 files changed, 7 insertions, 2 deletions
diff --git a/source4/param/loadparm.c b/source4/param/loadparm.c
index 2b1937de05..982c186ae9 100644
--- a/source4/param/loadparm.c
+++ b/source4/param/loadparm.c
@@ -2464,6 +2464,12 @@ bool lp_load(struct loadparm_context *lp_ctx, const char *filename)
reload_charcnv(lp_ctx);
+ /* FIXME: Check locale in environment for this: */
+ if (strcmp(lp_display_charset(lp_ctx), lp_unix_charset(lp_ctx)) != 0)
+ d_set_iconv(smb_iconv_open(lp_display_charset(lp_ctx), lp_unix_charset(lp_ctx), true));
+ else
+ d_set_iconv((smb_iconv_t)-1);
+
return bRetval;
}
@@ -2581,7 +2587,7 @@ struct smb_iconv_convenience *lp_iconv_convenience(struct loadparm_context *lp_c
{
if (lp_ctx == NULL) {
return smb_iconv_convenience_init(talloc_autofree_context(),
- "CP850", "UTF8", "UTF8", true);
+ "CP850", "UTF8", true);
}
return lp_ctx->iconv_convenience;
}
diff --git a/source4/param/util.c b/source4/param/util.c
index 48ddbfdca0..4d4e562590 100644
--- a/source4/param/util.c
+++ b/source4/param/util.c
@@ -288,7 +288,6 @@ struct smb_iconv_convenience *smb_iconv_convenience_init_lp(TALLOC_CTX *mem_ctx,
{
return smb_iconv_convenience_init(mem_ctx, lp_dos_charset(lp_ctx),
lp_unix_charset(lp_ctx),
- lp_display_charset(lp_ctx),
lp_parm_bool(lp_ctx, NULL, "iconv", "native", true));
}