60 |
#ifdef HAVE_ICONV |
#ifdef HAVE_ICONV |
61 |
|
|
62 |
#ifdef WORDS_BIGENDIAN |
#ifdef WORDS_BIGENDIAN |
63 |
#define UCS_2_INTERNAL "UCS-2BE" |
#define UTF_16_INTERNAL "UTF-16BE" |
64 |
#else |
#else |
65 |
#define UCS_2_INTERNAL "UCS-2LE" |
#define UTF_16_INTERNAL "UTF-16LE" |
66 |
#endif |
#endif |
67 |
|
|
68 |
int jscoverage_bytes_to_characters(const char * encoding, const uint8_t * bytes, size_t num_bytes, jschar ** characters, size_t * num_characters) { |
int jscoverage_bytes_to_characters(const char * encoding, const uint8_t * bytes, size_t num_bytes, jschar ** characters, size_t * num_characters) { |
69 |
assert(encoding != NULL); |
assert(encoding != NULL); |
70 |
|
|
71 |
iconv_t state = iconv_open(UCS_2_INTERNAL, encoding); |
iconv_t state = iconv_open(UTF_16_INTERNAL, encoding); |
72 |
if (state == (iconv_t) -1) { |
if (state == (iconv_t) -1) { |
73 |
return JSCOVERAGE_ERROR_ENCODING_NOT_SUPPORTED; |
return JSCOVERAGE_ERROR_ENCODING_NOT_SUPPORTED; |
74 |
} |
} |