Some changes in interface.
[gedcom-parse.git] / utf8 / utf8-locale.c
index 115c66ee7312e66bec78e797abaa4f2cc95bc9e2..9ede577d17cc6c78caf46cbfad4210e04522fec6 100644 (file)
 
 static convert_t locale_conv = NULL;
 
-void convert_set_unknown(const char* unknown)
-{
-  conversion_set_unknown(locale_conv, unknown);
-}
-
 void close_conversion_contexts()
 {
   cleanup_utf8_conversion(locale_conv);
@@ -29,7 +24,7 @@ void close_conversion_contexts()
 int open_conversion_contexts()
 {
   assert (locale_conv == NULL);
-  locale_conv = initialize_utf8_conversion(locale_charset());
+  locale_conv = initialize_utf8_conversion(locale_charset(), 0);
 
   if (locale_conv) {
     atexit(close_conversion_contexts);
@@ -40,6 +35,13 @@ int open_conversion_contexts()
   }
 }
 
+void convert_set_unknown(const char* unknown)
+{
+  if (!locale_conv)
+    open_conversion_contexts();
+  conversion_set_unknown(locale_conv, unknown);
+}
+
 char* convert_utf8_to_locale(const char* input, int *conv_fails)
 {
   if (!locale_conv)