diff options
Diffstat (limited to 'source4/param')
-rw-r--r-- | source4/param/loadparm.c | 8 | ||||
-rw-r--r-- | source4/param/util.c | 1 |
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)); } |