blob: 476882526b694e3e5c9b72cabe28bf75af8f5457 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
/* ----------------------------------------------------------------------------
* any_to_utf8.c
* ----------------------------------------------------------------------------
* Mastering programmed by YAMASHINA Hio
*
* Copyright 2008 YAMASHINA Hio
* ----------------------------------------------------------------------------
* $Id$
* ------------------------------------------------------------------------- */
#include "unijp.h"
#include "unijp_build.h"
#include <stdlib.h>
/* ----------------------------------------------------------------------------
: _uj_any_to_utf8(conv, icode).
+--------------------------------------------------------------------------- */
uj_conv_t* _uj_any_to_utf8(const uj_conv_t* in, uj_conv_t* out, uj_charcode_t icode)
{
if( icode==ujc_auto )
{
icode = uj_getcode(in->buf, in->buf_len);
}
switch( icode )
{
case ujc_auto: abort();
case ujc_utf8: return _uj_validate_utf8(in, out);
case ujc_sjis: return _uj_sjis_to_utf8(in, out);
case ujc_eucjp: return _uj_eucjp_to_utf8(in, out);
case ujc_jis: return _uj_jis_to_utf8(in, out);
case ujc_ucs2: return _uj_ucs2_to_utf8(in, out);
case ujc_ucs4: return _uj_ucs4_to_utf8(in, out);
case ujc_utf16: return _uj_utf16_to_utf8(in, out);
case ujc_ascii: return _uj_validate_utf8(in, out);
case ujc_binary: abort();
case ujc_undefined: abort();
}
abort();
return NULL;
}
/* ----------------------------------------------------------------------------
* End of File.
* ------------------------------------------------------------------------- */
|