From 7d48fb3c819b5aae2c91f571795cbc78005341d2 Mon Sep 17 00:00:00 2001 From: Tor Lillqvist Date: Thu, 28 Feb 2008 22:59:39 +0000 Subject: [PATCH] Add some GNU libiconv compatibility: Recognize "" and "char" as aliases 2008-02-29 Tor Lillqvist * glib/win_iconv.c (name_to_codepage): Add some GNU libiconv compatibility: Recognize "" and "char" as aliases for the current locale's charset. (We use the system ANSI codepage as returned by GetACP().) Recognize "wchar_t" as an alias for UTF-16LE. svn path=/trunk/; revision=6604 --- ChangeLog | 7 +++++++ glib/win_iconv.c | 7 ++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 50524f6..0ee7d3e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2008-02-29 Tor Lillqvist + + * glib/win_iconv.c (name_to_codepage): Add some GNU libiconv + compatibility: Recognize "" and "char" as aliases for the current + locale's charset. (We use the system ANSI codepage as returned by + GetACP().) Recognize "wchar_t" as an alias for UTF-16LE. + 2008-02-27 Matthew Barnes * glib/gchecksum.[ch] (g_checksum_update), diff --git a/glib/win_iconv.c b/glib/win_iconv.c index 5cedbcc..b6cbdc0 100644 --- a/glib/win_iconv.c +++ b/glib/win_iconv.c @@ -953,7 +953,12 @@ name_to_codepage(const char *name) { int i; - if (_strnicmp(name, "cp", 2) == 0) + if (*name == '\0' || + strcmp(name, "char") == 0) + return GetACP(); + else if (strcmp(name, "wchar_t") == 0) + return 1200; + else if (_strnicmp(name, "cp", 2) == 0) return atoi(name + 2); /* CP123 */ else if ('0' <= name[0] && name[0] <= '9') return atoi(name); /* 123 */ -- 2.7.4