From 61013deff80dbe3a3dfaa7b5060609500f1f63fa Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Fri, 24 Oct 2008 14:45:31 +0200 Subject: [PATCH] Remove dependency of charset code on loadparm. --- lib/util/charset/charset.h | 1 + lib/util/charset/util_unistr.c | 7 +++++-- source4/param/loadparm.c | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/util/charset/charset.h b/lib/util/charset/charset.h index 56fa36faf3c..51e01931731 100644 --- a/lib/util/charset/charset.h +++ b/lib/util/charset/charset.h @@ -122,6 +122,7 @@ ssize_t convert_string(charset_t from, charset_t to, void const *src, size_t srclen, void *dest, size_t destlen); +extern struct smb_iconv_convenience *global_iconv_convenience; /* codepoints */ codepoint_t next_codepoint(struct smb_iconv_convenience *ic, diff --git a/lib/util/charset/util_unistr.c b/lib/util/charset/util_unistr.c index 91d0be109ac..a40b4298a42 100644 --- a/lib/util/charset/util_unistr.c +++ b/lib/util/charset/util_unistr.c @@ -20,11 +20,14 @@ #include "includes.h" #include "system/locale.h" -#include "param/param.h" + +struct smb_iconv_convenience *global_iconv_convenience = NULL; static inline struct smb_iconv_convenience *get_iconv_convenience(void) { - return lp_iconv_convenience(global_loadparm); + if (global_iconv_convenience == NULL) + global_iconv_convenience = smb_iconv_convenience_init(talloc_autofree_context(), "ASCII", "UTF-8", true); + return global_iconv_convenience; } /** diff --git a/source4/param/loadparm.c b/source4/param/loadparm.c index fb8afe456cd..a019c951de7 100644 --- a/source4/param/loadparm.c +++ b/source4/param/loadparm.c @@ -2608,7 +2608,7 @@ struct smb_iconv_convenience *lp_iconv_convenience(struct loadparm_context *lp_c _PUBLIC_ void reload_charcnv(struct loadparm_context *lp_ctx) { talloc_free(lp_ctx->iconv_convenience); - lp_ctx->iconv_convenience = smb_iconv_convenience_init_lp(lp_ctx, lp_ctx); + global_iconv_convenience = lp_ctx->iconv_convenience = smb_iconv_convenience_init_lp(lp_ctx, lp_ctx); } void lp_smbcli_options(struct loadparm_context *lp_ctx, -- 2.25.1