diff options
Diffstat (limited to 'source4/param/util.c')
-rw-r--r-- | source4/param/util.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/source4/param/util.c b/source4/param/util.c index 8d59861f40..1cbae841bc 100644 --- a/source4/param/util.c +++ b/source4/param/util.c @@ -283,3 +283,19 @@ _PUBLIC_ const char *lp_messaging_path(TALLOC_CTX *mem_ctx, return smbd_tmp_path(mem_ctx, lp_ctx, "messaging"); } +struct smb_iconv_convenience *global_smb_iconv_convenience = NULL; + +struct smb_iconv_convenience *smb_iconv_convenience_init_lp(TALLOC_CTX *mem_ctx, + struct loadparm_context *lp_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)); +} + +_PUBLIC_ void reload_charcnv(void) +{ + talloc_free(global_smb_iconv_convenience); + global_smb_iconv_convenience = smb_iconv_convenience_init_lp(talloc_autofree_context(), global_loadparm); +} |