diff options
author | Jeremy Allison <jra@samba.org> | 2017-04-11 15:42:39 -0700 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2017-04-18 11:47:17 +0200 |
commit | c28e2c937a6223c49221315384c01074a00161eb (patch) | |
tree | a3b8c80ea6979a89a9967be0ea7bef367fba7165 /lib/util/charset | |
parent | 3afbdb7a0e5c5e4bacc40f80ad0e8981b0af4b88 (diff) | |
download | samba-c28e2c937a6223c49221315384c01074a00161eb.tar.gz |
lib:charset: Add utility functions reinit_iconv_handle() and free_iconv_handle(void)
Not yet used. Will enable us to make global_iconv_handle private.
Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
Diffstat (limited to 'lib/util/charset')
-rw-r--r-- | lib/util/charset/charset.h | 5 | ||||
-rw-r--r-- | lib/util/charset/codepoints.c | 18 |
2 files changed, 23 insertions, 0 deletions
diff --git a/lib/util/charset/charset.h b/lib/util/charset/charset.h index ca7a4377455..750071491f0 100644 --- a/lib/util/charset/charset.h +++ b/lib/util/charset/charset.h @@ -170,6 +170,11 @@ struct smb_iconv_handle *get_iconv_testing_handle(TALLOC_CTX *mem_ctx, const char *dos_charset, const char *unix_charset, bool use_builtin_handlers); +struct smb_iconv_handle *reinit_iconv_handle(TALLOC_CTX *mem_ctx, + const char *dos_charset, + const char *unix_charset); +void free_iconv_handle(void); + smb_iconv_t get_conv_handle(struct smb_iconv_handle *ic, charset_t from, charset_t to); const char *charset_name(struct smb_iconv_handle *ic, charset_t ch); diff --git a/lib/util/charset/codepoints.c b/lib/util/charset/codepoints.c index cfb0b27fcc1..358ae3b1cbf 100644 --- a/lib/util/charset/codepoints.c +++ b/lib/util/charset/codepoints.c @@ -16521,6 +16521,24 @@ struct smb_iconv_handle *get_iconv_testing_handle(TALLOC_CTX *mem_ctx, dos_charset, unix_charset, use_builtin_handlers, NULL); } +struct smb_iconv_handle *reinit_iconv_handle(TALLOC_CTX *mem_ctx, + const char *dos_charset, + const char *unix_charset) +{ + global_iconv_handle = + smb_iconv_handle_reinit(mem_ctx, + dos_charset, + unix_charset, + true, + global_iconv_handle); + return global_iconv_handle; +} + +void free_iconv_handle(void) +{ + TALLOC_FREE(global_iconv_handle); +} + /** * Return the name of a charset to give to iconv(). **/ |