40 b = (
unsigned char) *(*
p)++;
41 c = (
unsigned char) *(*
p)++;
42 d = (
unsigned char) *(*
p)++;
50 c = (
unsigned char) *(*
p)++;
51 d = (
unsigned char) *(*
p)++;
61 d = (
unsigned char) *(*
p)++;
68 if (0x80 != (0xC0 & (
b ^
c ^
d)))
74 a = (
a << 18) | (
b << 12) | (
c << 6) |
d;
82 if (
a >= 0xD800 &&
a <= 0xDFFF)
91 a = (
unsigned char) *(*
p)++;
99 #define foreach_codepoint(c, p, pe) \
100 for (; (void) (*p <= pe && (c = uv__utf8_decode1(p, pe))), *p <= pe;)
103 char**
d,
char* de) {
104 static const char alphabet[] =
"abcdefghijklmnopqrstuvwxyz0123456789";
127 else if (
c == (
unsigned) -1)
134 if (*
d < de) *(*d)++ =
'x';
135 if (*
d < de) *(*d)++ =
'n';
136 if (*
d < de) *(*d)++ =
'-';
137 if (*
d < de) *(*d)++ =
'-';
192 for (
k = 36, q =
delta; ;
k += 36) {
214 *(*d)++ = alphabet[t];
218 *(*d)++ = alphabet[q];
233 for (bias = 0;
delta > 35 * 26 / 2; bias += 36)
248 #undef foreach_codepoint
259 for (
si =
s;
si < se; ) {
static unsigned uv__utf8_decode1_slow(const char **p, const char *pe, unsigned a)
unsigned uv__utf8_decode1(const char **p, const char *pe)
static int uv__idna_toascii_label(const char *s, const char *se, char **d, char *de)
#define foreach_codepoint(c, p, pe)
long uv__idna_toascii(const char *s, const char *se, char *d, char *de)