ShiftJIS-CP932-MapUTF
view release on metacpan or search on metacpan
cp932_to_utf32le = 4
cp932_to_utf32be = 5
PREINIT:
SV *src, *dst, *cvref, *mod;
STRLEN srclen, dstlen, modlen, mblen, ulen;
U8 *s, *e, *p, *d, *m, *m_e, uni[UTF8_MAXLEN + 1];
UV uv;
struct leading lb;
U8* (*app_uv)(U8*, UV);
bool mod_g, mod_s, mod_t;
PPCODE:
STMT_ASSIGN_CVREF_AND_SRC(funcname_to[ix])
if (SvUTF8(src)) {
src = sv_mortalcopy(src);
sv_utf8_downgrade(src, 0);
}
STMT_ASSIGN_LENDST(maxlen_to[ix])
if (ix == 0)
SvUTF8_on(dst);
m = (U8*)SvPV(mod, modlen);
utf16_to_cp932 = 6
utf32_to_cp932 = 7
PREINIT:
SV *src, *dst, *cvref, *mod;
STRLEN srclen, dstlen, modlen, retlen;
U8 *s, *e, *p, *d, *m, *m_e, mbc[3];
U16 j, *t;
UV uv;
UV (*ord_uv)(U8 *, STRLEN, STRLEN *);
bool mod_g, mod_s, mod_f;
PPCODE:
STMT_ASSIGN_CVREF_AND_SRC(funcname_fm[ix])
if (ix == 0 && !SvUTF8(src)) {
src = sv_mortalcopy(src);
sv_utf8_upgrade(src);
}
else if (ix && SvUTF8(src)) {
src = sv_mortalcopy(src);
sv_utf8_downgrade(src, FALSE);
}
STMT_ASSIGN_LENDST(maxlen_fm[ix])
( run in 0.837 second using v1.01-cache-2.11-cpan-5511b514fd6 )