dlugolecki.net.pl
Dziennik
Polecane
Software
projects
/
gedcom-parse.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
UTF8 library is now a shared library.
[gedcom-parse.git]
/
utf8
/
utf8-locale.c
diff --git
a/utf8/utf8-locale.c
b/utf8/utf8-locale.c
index 115c66ee7312e66bec78e797abaa4f2cc95bc9e2..bcfb17e1a9887406540bb8d88e422d73fe0bb22f 100644
(file)
--- a/
utf8/utf8-locale.c
+++ b/
utf8/utf8-locale.c
@@
-9,18
+9,14
@@
/* $Id$ */
/* $Name$ */
/* $Id$ */
/* $Name$ */
-#include "utf8.h"
+#include "utf8
tools
.h"
#include <stdlib.h>
#include <assert.h>
#include <stdlib.h>
#include <assert.h>
+#include <string.h>
#include "libcharset.h"
static convert_t locale_conv = NULL;
#include "libcharset.h"
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);
void close_conversion_contexts()
{
cleanup_utf8_conversion(locale_conv);
@@
-29,7
+25,7
@@
void close_conversion_contexts()
int open_conversion_contexts()
{
assert (locale_conv == NULL);
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);
if (locale_conv) {
atexit(close_conversion_contexts);
@@
-40,12
+36,19
@@
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)
open_conversion_contexts();
char* convert_utf8_to_locale(const char* input, int *conv_fails)
{
if (!locale_conv)
open_conversion_contexts();
- return convert_from_utf8(locale_conv, input, conv_fails);
+ return convert_from_utf8(locale_conv, input, conv_fails
, NULL
);
}
char* convert_locale_to_utf8(const char* input)
}
char* convert_locale_to_utf8(const char* input)
@@
-53,5
+56,5
@@
char* convert_locale_to_utf8(const char* input)
if (!locale_conv)
open_conversion_contexts();
if (!locale_conv)
open_conversion_contexts();
- return convert_to_utf8(locale_conv, input);
+ return convert_to_utf8(locale_conv, input
, strlen(input)
);
}
}