1
1
/* Convert multibyte character to wide character.
2
Copyright (C) 1999-2002, 2005-2011 Free Software Foundation, Inc.
2
Copyright (C) 1999-2002, 2005-2012 Free Software Foundation, Inc.
3
3
Written by Bruno Haible <bruno@clisp.org>, 2008.
5
5
This program is free software: you can redistribute it and/or modify
129
129
const char *encoding = locale_charset ();
131
if (STREQ (encoding, "UTF-8", 'U', 'T', 'F', '-', '8', 0, 0, 0, 0))
131
if (STREQ_OPT (encoding, "UTF-8", 'U', 'T', 'F', '-', '8', 0, 0, 0, 0))
133
133
/* Cf. unistr/u8-mblen.c. */
134
134
unsigned char c = (unsigned char) p[0];
185
185
/* As a reference for this code, you can use the GNU libiconv
186
186
implementation. Look for uses of the RET_TOOFEW macro. */
188
if (STREQ (encoding, "EUC-JP", 'E', 'U', 'C', '-', 'J', 'P', 0, 0, 0))
188
if (STREQ_OPT (encoding,
189
"EUC-JP", 'E', 'U', 'C', '-', 'J', 'P', 0, 0, 0))
211
if (STREQ (encoding, "EUC-KR", 'E', 'U', 'C', '-', 'K', 'R', 0, 0, 0)
212
|| STREQ (encoding, "GB2312", 'G', 'B', '2', '3', '1', '2', 0, 0, 0)
213
|| STREQ (encoding, "BIG5", 'B', 'I', 'G', '5', 0, 0, 0, 0, 0))
212
if (STREQ_OPT (encoding,
213
"EUC-KR", 'E', 'U', 'C', '-', 'K', 'R', 0, 0, 0)
214
|| STREQ_OPT (encoding,
215
"GB2312", 'G', 'B', '2', '3', '1', '2', 0, 0, 0)
216
|| STREQ_OPT (encoding,
217
"BIG5", 'B', 'I', 'G', '5', 0, 0, 0, 0, 0))
224
if (STREQ (encoding, "EUC-TW", 'E', 'U', 'C', '-', 'T', 'W', 0, 0, 0))
228
if (STREQ_OPT (encoding,
229
"EUC-TW", 'E', 'U', 'C', '-', 'T', 'W', 0, 0, 0))
242
if (STREQ (encoding, "GB18030", 'G', 'B', '1', '8', '0', '3', '0', 0, 0))
247
if (STREQ_OPT (encoding,
248
"GB18030", 'G', 'B', '1', '8', '0', '3', '0', 0, 0))
275
if (STREQ (encoding, "SJIS", 'S', 'J', 'I', 'S', 0, 0, 0, 0, 0))
281
if (STREQ_OPT (encoding, "SJIS", 'S', 'J', 'I', 'S', 0, 0, 0, 0, 0))