24 if (tmplen / 3 != len) {
32 for (i = 0, p = tmp; i < len; i++) {
33 cp = codepage[((
unsigned char *) str)[i]] & 0xffffUL;
35 *p++ = (
unsigned char) cp;
36 }
else if (cp < 0x800UL) {
37 *p++ = (
unsigned char) (0xc0 + ((cp >> 6) & 0x1f));
38 *p++ = (
unsigned char) (0x80 + (cp & 0x3f));
43 *p++ = (
unsigned char) (0xe0 + ((cp >> 12) & 0x0f));
44 *p++ = (
unsigned char) (0x80 + ((cp >> 6) & 0x3f));
45 *p++ = (
unsigned char) (0x80 + (cp & 0x3f));
void duk_decode_string_codepage(duk_context *ctx, const char *str, size_t len, unsigned int *codepage)