11 return &
ns(internal_utf8_encoding).enc;
18 return &
ns(internal_little2_encoding).enc;
19 #elif BYTEORDER == 4321
20 return &
ns(internal_big2_encoding).enc;
23 return (*(
const char *)&n
24 ? &
ns(internal_little2_encoding).
enc
25 : &
ns(internal_big2_encoding).
enc);
29 static const ENCODING *
const NS(encodings)[] = {
30 &
ns(latin1_encoding).enc,
31 &
ns(ascii_encoding).enc,
32 &
ns(utf8_encoding).enc,
33 &
ns(big2_encoding).enc,
34 &
ns(big2_encoding).enc,
35 &
ns(little2_encoding).enc,
36 &
ns(utf8_encoding).enc
40 NS(initScanProlog)(
const ENCODING *
enc,
const char *ptr,
const char *end,
41 const char **nextTokPtr)
48 NS(initScanContent)(
const ENCODING *
enc,
const char *ptr,
const char *end,
49 const char **nextTokPtr)
59 int i = getEncodingIndex(
name);
65 p->initEnc.updatePosition = initUpdatePosition;
67 *encPtr = &(p->initEnc);
72 NS(findEncoding)(
const ENCODING *
enc,
const char *ptr,
const char *end)
74 #define ENCODING_MAX 128
75 char buf[ENCODING_MAX];
82 if (streqci(buf, KW_UTF_16) && enc->minBytesPerChar == 2)
84 i = getEncodingIndex(buf);
87 return NS(encodings)[i];
96 const char **versionPtr,
97 const char **versionEndPtr,
98 const char **encodingName,
102 return doParseXmlDecl(
NS(findEncoding),