lib:charset: Add utility functions reinit_iconv_handle() and free_iconv_handle(void)
authorJeremy Allison <jra@samba.org>
Tue, 11 Apr 2017 22:42:39 +0000 (15:42 -0700)
committerAndreas Schneider <asn@cryptomilk.org>
Tue, 18 Apr 2017 09:47:17 +0000 (11:47 +0200)
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>
lib/util/charset/charset.h
lib/util/charset/codepoints.c

index ca7a4377455bd846a978c4135f1266371640bec1..750071491f08175fa81a1a7bb5419fbbf2664a44 100644 (file)
@@ -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);
index cfb0b27fcc1ff2c64f7cfe8a2027feb4a30aa94e..358ae3b1cbfb9971596da64b3782ec3507ed0a1c 100644 (file)
@@ -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().
  **/