ReactOS 0.4.16-dev-2132-g3885311
parser.h File Reference
#include <libxml/parser.h>
#include <libxml/xmlversion.h>
Include dependency graph for parser.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define XML_VCTXT_DTD_VALIDATED   (1u << 0)
 
#define XML_VCTXT_USE_PCTXT   (1u << 1)
 
#define XML_INPUT_HAS_ENCODING   (1u << 0)
 
#define XML_INPUT_AUTO_ENCODING   (7u << 1)
 
#define XML_INPUT_AUTO_UTF8   (1u << 1)
 
#define XML_INPUT_AUTO_UTF16LE   (2u << 1)
 
#define XML_INPUT_AUTO_UTF16BE   (3u << 1)
 
#define XML_INPUT_AUTO_OTHER   (4u << 1)
 
#define XML_INPUT_USES_ENC_DECL   (1u << 4)
 
#define XML_INPUT_ENCODING_ERROR   (1u << 5)
 

Functions

XML_HIDDEN void xmlErrMemory (xmlParserCtxtPtr ctxt, const char *extra)
 
XML_HIDDEN void xmlFatalErr (xmlParserCtxtPtr ctxt, xmlParserErrors error, const char *info)
 
XML_HIDDEN void LIBXML_ATTR_FORMAT (3, 0) xmlWarningMsg(xmlParserCtxtPtr ctxt
 
XML_HIDDEN void __xmlErrEncoding (xmlParserCtxtPtr ctxt, xmlParserErrors xmlerr, const char *msg, const xmlChar *str1, const xmlChar *str2) LIBXML_ATTR_FORMAT(3
 
XML_HIDDEN void XML_HIDDEN void xmlHaltParser (xmlParserCtxtPtr ctxt)
 
XML_HIDDEN int xmlParserGrow (xmlParserCtxtPtr ctxt)
 
XML_HIDDEN void xmlParserShrink (xmlParserCtxtPtr ctxt)
 
XML_HIDDEN void xmlDetectEncoding (xmlParserCtxtPtr ctxt)
 
XML_HIDDEN void xmlSetDeclaredEncoding (xmlParserCtxtPtr ctxt, xmlChar *encoding)
 
XML_HIDDEN const xmlCharxmlGetActualEncoding (xmlParserCtxtPtr ctxt)
 
XML_HIDDEN xmlParserNsDataxmlParserNsCreate (void)
 
XML_HIDDEN void xmlParserNsFree (xmlParserNsData *nsdb)
 
XML_HIDDEN int xmlParserNsUpdateSax (xmlParserCtxtPtr ctxt, const xmlChar *prefix, void *saxData)
 
XML_HIDDEN voidxmlParserNsLookupSax (xmlParserCtxtPtr ctxt, const xmlChar *prefix)
 

Variables

XML_HIDDEN void xmlParserErrors error
 
XML_HIDDEN void xmlParserErrors const charmsg
 
XML_HIDDEN void xmlParserErrors const char const xmlCharstr1
 
XML_HIDDEN void xmlParserErrors const char const xmlChar const xmlCharstr2
 

Macro Definition Documentation

◆ XML_INPUT_AUTO_ENCODING

#define XML_INPUT_AUTO_ENCODING   (7u << 1)

Definition at line 21 of file parser.h.

◆ XML_INPUT_AUTO_OTHER

#define XML_INPUT_AUTO_OTHER   (4u << 1)

Definition at line 25 of file parser.h.

◆ XML_INPUT_AUTO_UTF16BE

#define XML_INPUT_AUTO_UTF16BE   (3u << 1)

Definition at line 24 of file parser.h.

◆ XML_INPUT_AUTO_UTF16LE

#define XML_INPUT_AUTO_UTF16LE   (2u << 1)

Definition at line 23 of file parser.h.

◆ XML_INPUT_AUTO_UTF8

#define XML_INPUT_AUTO_UTF8   (1u << 1)

Definition at line 22 of file parser.h.

◆ XML_INPUT_ENCODING_ERROR

#define XML_INPUT_ENCODING_ERROR   (1u << 5)

Definition at line 27 of file parser.h.

◆ XML_INPUT_HAS_ENCODING

#define XML_INPUT_HAS_ENCODING   (1u << 0)

Definition at line 20 of file parser.h.

◆ XML_INPUT_USES_ENC_DECL

#define XML_INPUT_USES_ENC_DECL   (1u << 4)

Definition at line 26 of file parser.h.

◆ XML_VCTXT_DTD_VALIDATED

#define XML_VCTXT_DTD_VALIDATED   (1u << 0)

XML_VCTXT_DTD_VALIDATED:

Set after xmlValidateDtdFinal was called.

Definition at line 12 of file parser.h.

◆ XML_VCTXT_USE_PCTXT

#define XML_VCTXT_USE_PCTXT   (1u << 1)

XML_VCTXT_USE_PCTXT:

Set if the validation context is part of a parser context.

Definition at line 18 of file parser.h.

Function Documentation

◆ __xmlErrEncoding()

XML_HIDDEN void __xmlErrEncoding ( xmlParserCtxtPtr  ctxt,
xmlParserErrors  xmlerr,
const char msg,
const xmlChar str1,
const xmlChar str2 
)

◆ LIBXML_ATTR_FORMAT()

static void LIBXML_ATTR_FORMAT ( ,
 
)

xmlWarningMsg: @ctxt: an XML parser context @error: the error number @msg: the error message @str1: extra data @str2: extra data

Handle a warning.

xmlValidityError: @ctxt: an XML parser context @error: the error number @msg: the error message @str1: extra data

Handle a validity error.

xmlFatalErrMsgInt: @ctxt: an XML parser context @error: the error number @msg: the error message @val: an integer value

Handle a fatal parser error, i.e. violating Well-Formedness constraints

xmlFatalErrMsgStrIntStr: @ctxt: an XML parser context @error: the error number @msg: the error message @str1: an string info @val: an integer value @str2: an string info

Handle a fatal parser error, i.e. violating Well-Formedness constraints

xmlFatalErrMsgStr: @ctxt: an XML parser context @error: the error number @msg: the error message @val: a string value

Handle a fatal parser error, i.e. violating Well-Formedness constraints

xmlErrMsgStr: @ctxt: an XML parser context @error: the error number @msg: the error message @val: a string value

Handle a non fatal parser error

xmlNsErr: @ctxt: an XML parser context @error: the error number @msg: the message @info1: extra information string @info2: extra information string

Handle a fatal parser error, i.e. violating Well-Formedness constraints

xmlNsWarn @ctxt: an XML parser context @error: the error number @msg: the message @info1: extra information string @info2: extra information string

Handle a namespace warning error

xmlFatalErrMsg: @ctxt: an XML parser context @error: the error number @msg: the error message @str1: an error string @str2: an error string

Handle a fatal parser error, i.e. violating Well-Formedness constraints

xmlWarnMsg: @ctxt: an XML parser context @error: the error number @msg: the error message @str1: an error string @str2: an error string

Handle a parser warning

xmlNsWarnMsg: @ctxt: an XML parser context @error: the error number @msg: the error message @str1: an error string

Handle a namespace warning

Definition at line 303 of file parser.c.

306{
307 xmlStructuredErrorFunc schannel = NULL;
308
309 if ((ctxt != NULL) && (ctxt->disableSAX != 0) &&
310 (ctxt->instate == XML_PARSER_EOF))
311 return;
312 if ((ctxt != NULL) && (ctxt->sax != NULL) &&
313 (ctxt->sax->initialized == XML_SAX2_MAGIC))
314 schannel = ctxt->sax->serror;
315 if (ctxt != NULL) {
316 __xmlRaiseError(schannel,
317 (ctxt->sax) ? ctxt->sax->warning : NULL,
318 ctxt->userData,
319 ctxt, NULL, XML_FROM_PARSER, error,
321 (const char *) str1, (const char *) str2, NULL, 0, 0,
322 msg, (const char *) str1, (const char *) str2);
323 } else {
324 __xmlRaiseError(schannel, NULL, NULL,
325 ctxt, NULL, XML_FROM_PARSER, error,
327 (const char *) str1, (const char *) str2, NULL, 0, 0,
328 msg, (const char *) str1, (const char *) str2);
329 }
330}
#define msg(x)
Definition: auth_time.c:54
#define NULL
Definition: types.h:112
#define error(str)
Definition: mkdosfs.c:1605
@ XML_PARSER_EOF
Definition: parser.h:116
#define XML_SAX2_MAGIC
Definition: parser.h:687
XML_HIDDEN void __xmlRaiseError(xmlStructuredErrorFunc schannel, xmlGenericErrorFunc channel, void *data, void *ctx, void *nod, int domain, int code, xmlErrorLevel level, const char *file, int line, const char *str1, const char *str2, const char *str3, int int1, int col, const char *msg,...) LIBXML_ATTR_FORMAT(16
XML_HIDDEN void xmlParserErrors const char const xmlChar const xmlChar * str2
Definition: parser.h:35
XML_HIDDEN void xmlParserErrors const char const xmlChar * str1
Definition: parser.h:35
void(*) typedef void(* xmlStructuredErrorFunc)(void *userData, const xmlError *error)
Definition: xmlerror.h:859
@ XML_ERR_WARNING
Definition: xmlerror.h:26
@ XML_FROM_PARSER
Definition: xmlerror.h:38

◆ xmlDetectEncoding()

XML_HIDDEN void xmlDetectEncoding ( xmlParserCtxtPtr  ctxt)

xmlDetectEncoding: @ctxt: the parser context

Handle optional BOM, detect and switch to encoding.

Assumes that there are at least four bytes in the input buffer.

Definition at line 1309 of file parserInternals.c.

1309 {
1310 const xmlChar *in;
1311 xmlCharEncoding enc;
1312 int bomSize;
1313 int autoFlag = 0;
1314
1315 if (xmlParserGrow(ctxt) < 0)
1316 return;
1317 in = ctxt->input->cur;
1318 if (ctxt->input->end - in < 4)
1319 return;
1320
1321 if (ctxt->input->flags & XML_INPUT_HAS_ENCODING) {
1322 /*
1323 * If the encoding was already set, only skip the BOM which was
1324 * possibly decoded to UTF-8.
1325 */
1326 if ((in[0] == 0xEF) && (in[1] == 0xBB) && (in[2] == 0xBF)) {
1327 ctxt->input->cur += 3;
1328 }
1329
1330 return;
1331 }
1332
1334 bomSize = 0;
1335
1336 switch (in[0]) {
1337 case 0x00:
1338 if ((in[1] == 0x00) && (in[2] == 0x00) && (in[3] == 0x3C)) {
1340 autoFlag = XML_INPUT_AUTO_OTHER;
1341 } else if ((in[1] == 0x3C) && (in[2] == 0x00) && (in[3] == 0x3F)) {
1343 autoFlag = XML_INPUT_AUTO_UTF16BE;
1344 }
1345 break;
1346
1347 case 0x3C:
1348 if (in[1] == 0x00) {
1349 if ((in[2] == 0x00) && (in[3] == 0x00)) {
1351 autoFlag = XML_INPUT_AUTO_OTHER;
1352 } else if ((in[2] == 0x3F) && (in[3] == 0x00)) {
1354 autoFlag = XML_INPUT_AUTO_UTF16LE;
1355 }
1356 }
1357 break;
1358
1359 case 0x4C:
1360 if ((in[1] == 0x6F) && (in[2] == 0xA7) && (in[3] == 0x94)) {
1362 autoFlag = XML_INPUT_AUTO_OTHER;
1363 }
1364 break;
1365
1366 case 0xEF:
1367 if ((in[1] == 0xBB) && (in[2] == 0xBF)) {
1369 autoFlag = XML_INPUT_AUTO_UTF8;
1370 bomSize = 3;
1371 }
1372 break;
1373
1374 case 0xFE:
1375 if (in[1] == 0xFF) {
1377 autoFlag = XML_INPUT_AUTO_UTF16BE;
1378 bomSize = 2;
1379 }
1380 break;
1381
1382 case 0xFF:
1383 if (in[1] == 0xFE) {
1385 autoFlag = XML_INPUT_AUTO_UTF16LE;
1386 bomSize = 2;
1387 }
1388 break;
1389 }
1390
1391 if (bomSize > 0) {
1392 ctxt->input->cur += bomSize;
1393 }
1394
1395 if (enc != XML_CHAR_ENCODING_NONE) {
1396 ctxt->input->flags |= autoFlag;
1397 xmlSwitchEncoding(ctxt, enc);
1398 }
1399}
xmlCharEncoding
Definition: encoding.h:65
@ XML_CHAR_ENCODING_UTF8
Definition: encoding.h:68
@ XML_CHAR_ENCODING_UTF16BE
Definition: encoding.h:70
@ XML_CHAR_ENCODING_EBCDIC
Definition: encoding.h:73
@ XML_CHAR_ENCODING_UCS4LE
Definition: encoding.h:71
@ XML_CHAR_ENCODING_UCS4BE
Definition: encoding.h:72
@ XML_CHAR_ENCODING_UTF16LE
Definition: encoding.h:69
@ XML_CHAR_ENCODING_NONE
Definition: encoding.h:67
GLuint in
Definition: glext.h:9616
int xmlParserGrow(xmlParserCtxtPtr ctxt)
int xmlSwitchEncoding(xmlParserCtxtPtr ctxt, xmlCharEncoding enc)
#define XML_INPUT_AUTO_UTF16LE
Definition: parser.h:23
#define XML_INPUT_AUTO_UTF8
Definition: parser.h:22
#define XML_INPUT_AUTO_UTF16BE
Definition: parser.h:24
#define XML_INPUT_HAS_ENCODING
Definition: parser.h:20
#define XML_INPUT_AUTO_OTHER
Definition: parser.h:25
unsigned char xmlChar
Definition: xmlstring.h:28

Referenced by xmlLoadEntityContent(), xmlParseDocument(), xmlParseExternalEntityPrivate(), xmlParseExternalSubset(), xmlParseExtParsedEnt(), and xmlParsePEReference().

◆ xmlErrMemory()

XML_HIDDEN void xmlErrMemory ( xmlParserCtxtPtr  ctxt,
const char extra 
)

xmlErrMemory: @ctxt: an XML parser context @extra: extra information

Handle a redefinition of attribute error

Definition at line 102 of file parserInternals.c.

103{
104 if ((ctxt != NULL) && (ctxt->disableSAX != 0) &&
105 (ctxt->instate == XML_PARSER_EOF))
106 return;
107 if (ctxt != NULL) {
108 ctxt->errNo = XML_ERR_NO_MEMORY;
109 ctxt->instate = XML_PARSER_EOF;
110 ctxt->disableSAX = 1;
111 }
112 if (extra)
115 NULL, NULL, 0, 0,
116 "Memory allocation failed : %s\n", extra);
117 else
120 NULL, NULL, 0, 0, "Memory allocation failed\n");
121}
@ extra
Definition: id3.c:95
@ XML_ERR_FATAL
Definition: xmlerror.h:28
@ XML_ERR_NO_MEMORY
Definition: xmlerror.h:102

Referenced by inputPush(), nameNsPush(), namePush(), nodePush(), spacePush(), xmlAddDefAttrs(), xmlAddSpecialAttr(), xmlAttrNormalizeSpace2(), xmlCreateURLParserCtxt(), xmlCtxtGrowAttrs(), xmlDetectSAX2(), xmlInitSAXParserCtxt(), xmlLoadEntityContent(), xmlNewInputStream(), xmlNewSAXParserCtxt(), xmlNewStringInputStream(), xmlParseAttValueComplex(), xmlParseCDSect(), xmlParseComment(), xmlParseCommentComplex(), xmlParseConditionalSections(), xmlParseElementChildrenContentDeclPriv(), xmlParseEncName(), xmlParseEntityDecl(), xmlParseEntityValue(), xmlParseExternalSubset(), xmlParseName(), xmlParseNCName(), xmlParseNmtoken(), xmlParsePI(), xmlParsePubidLiteral(), xmlParserAddNodeInfo(), xmlParserGrow(), xmlParserNsGrow(), xmlParserNsPush(), xmlParseStartTag2(), xmlParseStringName(), xmlParseSystemLiteral(), xmlParseVersionNum(), xmlSAX2TextNode(), xmlSplitQName(), and xmlStringDecodeEntitiesInt().

◆ xmlFatalErr()

XML_HIDDEN void xmlFatalErr ( xmlParserCtxtPtr  ctxt,
xmlParserErrors  error,
const char info 
)

xmlFatalErr: @ctxt: an XML parser context @error: the error number @info: extra information string

Handle a fatal parser error, i.e. violating Well-Formedness constraints

Definition at line 189 of file parserInternals.c.

190{
191 const char *errmsg;
192
193 if ((ctxt != NULL) && (ctxt->disableSAX != 0) &&
194 (ctxt->instate == XML_PARSER_EOF))
195 return;
196 switch (error) {
198 errmsg = "CharRef: invalid hexadecimal value";
199 break;
201 errmsg = "CharRef: invalid decimal value";
202 break;
204 errmsg = "CharRef: invalid value";
205 break;
207 errmsg = "internal error";
208 break;
210 errmsg = "PEReference at end of document";
211 break;
213 errmsg = "PEReference in prolog";
214 break;
216 errmsg = "PEReference in epilog";
217 break;
219 errmsg = "PEReference: no name";
220 break;
222 errmsg = "PEReference: expecting ';'";
223 break;
225 errmsg = "Detected an entity reference loop";
226 break;
228 errmsg = "EntityValue: \" or ' expected";
229 break;
231 errmsg = "PEReferences forbidden in internal subset";
232 break;
234 errmsg = "EntityValue: \" or ' expected";
235 break;
237 errmsg = "AttValue: \" or ' expected";
238 break;
240 errmsg = "Unescaped '<' not allowed in attributes values";
241 break;
243 errmsg = "SystemLiteral \" or ' expected";
244 break;
246 errmsg = "Unfinished System or Public ID \" or ' expected";
247 break;
249 errmsg = "Sequence ']]>' not allowed in content";
250 break;
252 errmsg = "SYSTEM or PUBLIC, the URI is missing";
253 break;
255 errmsg = "PUBLIC, the Public Identifier is missing";
256 break;
258 errmsg = "Comment must not contain '--' (double-hyphen)";
259 break;
261 errmsg = "xmlParsePI : no target name";
262 break;
264 errmsg = "Invalid PI name";
265 break;
267 errmsg = "NOTATION: Name expected here";
268 break;
270 errmsg = "'>' required to close NOTATION declaration";
271 break;
273 errmsg = "Entity value required";
274 break;
276 errmsg = "Fragment not allowed";
277 break;
279 errmsg = "'(' required to start ATTLIST enumeration";
280 break;
282 errmsg = "NmToken expected in ATTLIST enumeration";
283 break;
285 errmsg = "')' required to finish ATTLIST enumeration";
286 break;
288 errmsg = "MixedContentDecl : '|' or ')*' expected";
289 break;
291 errmsg = "MixedContentDecl : '#PCDATA' expected";
292 break;
294 errmsg = "ContentDecl : Name or '(' expected";
295 break;
297 errmsg = "ContentDecl : ',' '|' or ')' expected";
298 break;
300 errmsg =
301 "PEReference: forbidden within markup decl in internal subset";
302 break;
304 errmsg = "expected '>'";
305 break;
307 errmsg = "XML conditional section '[' expected";
308 break;
310 errmsg = "Content error in the external subset";
311 break;
313 errmsg =
314 "conditional section INCLUDE or IGNORE keyword expected";
315 break;
317 errmsg = "XML conditional section not closed";
318 break;
320 errmsg = "Text declaration '<?xml' required";
321 break;
323 errmsg = "parsing XML declaration: '?>' expected";
324 break;
326 errmsg = "external parsed entities cannot be standalone";
327 break;
329 errmsg = "EntityRef: expecting ';'";
330 break;
332 errmsg = "DOCTYPE improperly terminated";
333 break;
335 errmsg = "EndTag: '</' not found";
336 break;
338 errmsg = "expected '='";
339 break;
341 errmsg = "String not closed expecting \" or '";
342 break;
344 errmsg = "String not started expecting ' or \"";
345 break;
347 errmsg = "Invalid XML encoding name";
348 break;
350 errmsg = "standalone accepts only 'yes' or 'no'";
351 break;
353 errmsg = "Document is empty";
354 break;
356 errmsg = "Extra content at the end of the document";
357 break;
359 errmsg = "chunk is not well balanced";
360 break;
362 errmsg = "extra content at the end of well balanced chunk";
363 break;
365 errmsg = "Malformed declaration expecting version";
366 break;
368 errmsg = "Name too long";
369 break;
371 errmsg = "Invalid bytes in character encoding";
372 break;
373 case XML_IO_UNKNOWN:
374 errmsg = "I/O error";
375 break;
376#if 0
377 case:
378 errmsg = "";
379 break;
380#endif
381 default:
382 errmsg = "Unregistered error message";
383 }
384 if (ctxt != NULL)
385 ctxt->errNo = error;
386 if (info == NULL) {
388 XML_ERR_FATAL, NULL, 0, info, NULL, NULL, 0, 0, "%s\n",
389 errmsg);
390 } else {
392 XML_ERR_FATAL, NULL, 0, info, NULL, NULL, 0, 0, "%s: %s\n",
393 errmsg, info);
394 }
395 if (ctxt != NULL) {
396 ctxt->wellFormed = 0;
397 if (ctxt->recovery == 0)
398 ctxt->disableSAX = 1;
399 }
400}
EXPORT int errmsg(char *msg, va_alist)
Definition: comerr.c:192
@ XML_ERR_PEREF_NO_NAME
Definition: xmlerror.h:124
@ XML_ERR_NOT_WELL_BALANCED
Definition: xmlerror.h:185
@ XML_ERR_ENCODING_NAME
Definition: xmlerror.h:179
@ XML_ERR_ENTITY_NOT_FINISHED
Definition: xmlerror.h:137
@ XML_ERR_ENTITYREF_SEMICOL_MISSING
Definition: xmlerror.h:123
@ XML_ERR_PEREF_IN_PROLOG
Definition: xmlerror.h:119
@ XML_ERR_LT_IN_ATTRIBUTE
Definition: xmlerror.h:138
@ XML_ERR_ENTITY_PE_INTERNAL
Definition: xmlerror.h:188
@ XML_ERR_ATTLIST_NOT_STARTED
Definition: xmlerror.h:150
@ XML_ERR_LITERAL_NOT_FINISHED
Definition: xmlerror.h:144
@ XML_ERR_XMLDECL_NOT_FINISHED
Definition: xmlerror.h:157
@ XML_ERR_DOCUMENT_END
Definition: xmlerror.h:105
@ XML_ERR_ELEMCONTENT_NOT_STARTED
Definition: xmlerror.h:154
@ XML_ERR_LTSLASH_REQUIRED
Definition: xmlerror.h:174
@ XML_ERR_PI_NOT_STARTED
Definition: xmlerror.h:146
@ XML_ERR_MIXED_NOT_STARTED
Definition: xmlerror.h:152
@ XML_ERR_PEREF_IN_EPILOG
Definition: xmlerror.h:120
@ XML_ERR_DOCTYPE_NOT_FINISHED
Definition: xmlerror.h:161
@ XML_ERR_CONDSEC_INVALID
Definition: xmlerror.h:183
@ XML_ERR_ENTITY_LOOP
Definition: xmlerror.h:189
@ XML_ERR_EXT_ENTITY_STANDALONE
Definition: xmlerror.h:182
@ XML_ERR_RESERVED_XML_NAME
Definition: xmlerror.h:164
@ XML_IO_UNKNOWN
Definition: xmlerror.h:419
@ XML_ERR_HYPHEN_IN_COMMENT
Definition: xmlerror.h:180
@ XML_ERR_MISPLACED_CDATA_END
Definition: xmlerror.h:162
@ XML_ERR_CONDSEC_INVALID_KEYWORD
Definition: xmlerror.h:195
@ XML_ERR_INTERNAL_ERROR
Definition: xmlerror.h:101
@ XML_ERR_URI_FRAGMENT
Definition: xmlerror.h:192
@ XML_ERR_VALUE_REQUIRED
Definition: xmlerror.h:184
@ XML_ERR_INVALID_ENCODING
Definition: xmlerror.h:181
@ XML_ERR_PEREF_AT_EOF
Definition: xmlerror.h:118
@ XML_ERR_INVALID_CHARREF
Definition: xmlerror.h:108
@ XML_ERR_NMTOKEN_REQUIRED
Definition: xmlerror.h:167
@ XML_ERR_PEREF_IN_INT_SUBSET
Definition: xmlerror.h:121
@ XML_ERR_GT_REQUIRED
Definition: xmlerror.h:173
@ XML_ERR_ELEMCONTENT_NOT_FINISHED
Definition: xmlerror.h:155
@ XML_ERR_PCDATA_REQUIRED
Definition: xmlerror.h:169
@ XML_ERR_NOTATION_NOT_STARTED
Definition: xmlerror.h:148
@ XML_ERR_STRING_NOT_CLOSED
Definition: xmlerror.h:134
@ XML_ERR_ATTRIBUTE_NOT_STARTED
Definition: xmlerror.h:139
@ XML_ERR_CONDSEC_NOT_FINISHED
Definition: xmlerror.h:159
@ XML_ERR_DOCUMENT_EMPTY
Definition: xmlerror.h:104
@ XML_ERR_INVALID_DEC_CHARREF
Definition: xmlerror.h:107
@ XML_ERR_LITERAL_NOT_STARTED
Definition: xmlerror.h:143
@ XML_ERR_PUBID_REQUIRED
Definition: xmlerror.h:171
@ XML_ERR_URI_REQUIRED
Definition: xmlerror.h:170
@ XML_ERR_STRING_NOT_STARTED
Definition: xmlerror.h:133
@ XML_ERR_INVALID_HEX_CHARREF
Definition: xmlerror.h:106
@ XML_ERR_VERSION_MISSING
Definition: xmlerror.h:196
@ XML_ERR_EXT_SUBSET_NOT_FINISHED
Definition: xmlerror.h:160
@ XML_ERR_STANDALONE_VALUE
Definition: xmlerror.h:178
@ XML_ERR_EQUAL_REQUIRED
Definition: xmlerror.h:175
@ XML_ERR_ATTLIST_NOT_FINISHED
Definition: xmlerror.h:151
@ XML_ERR_XMLDECL_NOT_STARTED
Definition: xmlerror.h:156
@ XML_ERR_PEREF_SEMICOL_MISSING
Definition: xmlerror.h:125
@ XML_ERR_EXTRA_CONTENT
Definition: xmlerror.h:186
@ XML_ERR_NOTATION_NOT_FINISHED
Definition: xmlerror.h:149
@ XML_ERR_NAME_TOO_LONG
Definition: xmlerror.h:210
@ XML_ERR_ENTITY_NOT_STARTED
Definition: xmlerror.h:136

Referenced by xmlCtxtResetPush(), xmlLoadEntityContent(), xmlParseAttValueComplex(), xmlParseAttValueInternal(), xmlParseBalancedChunkMemoryInternal(), xmlParseCDSect(), xmlParseCharDataComplex(), xmlParseCharDataInternal(), xmlParseCharRef(), xmlParseCommentComplex(), xmlParseConditionalSections(), xmlParseDocTypeDecl(), xmlParseDocument(), xmlParseElementChildrenContentDeclPriv(), xmlParseElementDecl(), xmlParseElementMixedContentDecl(), xmlParseEncName(), xmlParseEncodingDecl(), xmlParseEndTag2(), xmlParseEntityDecl(), xmlParseEntityRef(), xmlParseEntityValue(), xmlParseEnumerationType(), xmlParseExternalEntityPrivate(), xmlParseExternalID(), xmlParseExternalSubset(), xmlParseExtParsedEnt(), xmlParseInNodeContext(), xmlParseInternalSubset(), xmlParseName(), xmlParseNameComplex(), xmlParseNCName(), xmlParseNCNameComplex(), xmlParseNmtoken(), xmlParseNotationDecl(), xmlParseNotationType(), xmlParsePEReference(), xmlParsePI(), xmlParsePITarget(), xmlParsePubidLiteral(), xmlParseReference(), xmlParserGrow(), xmlParserHandlePEReference(), xmlParseSDDecl(), xmlParseStartTag2(), xmlParseStringCharRef(), xmlParseStringEntityRef(), xmlParseStringName(), xmlParseStringPEReference(), xmlParseSystemLiteral(), xmlParseTextDecl(), xmlParseVersionInfo(), xmlParseXMLDecl(), xmlPopInput(), xmlPushInput(), and xmlStringDecodeEntitiesInt().

◆ xmlGetActualEncoding()

XML_HIDDEN const xmlChar * xmlGetActualEncoding ( xmlParserCtxtPtr  ctxt)

xmlGetActualEncoding: @ctxt: the parser context

Returns the actual used to parse the document. This can differ from the declared encoding.

Definition at line 1490 of file parserInternals.c.

1490 {
1491 const xmlChar *encoding = NULL;
1492
1493 if ((ctxt->input->flags & XML_INPUT_USES_ENC_DECL) ||
1494 (ctxt->input->flags & XML_INPUT_AUTO_ENCODING)) {
1495 /* Preserve encoding exactly */
1496 encoding = ctxt->encoding;
1497 } else if ((ctxt->input->buf) && (ctxt->input->buf->encoder)) {
1498 encoding = BAD_CAST ctxt->input->buf->encoder->name;
1499 } else if (ctxt->input->flags & XML_INPUT_HAS_ENCODING) {
1500 encoding = BAD_CAST "UTF-8";
1501 }
1502
1503 return(encoding);
1504}
#define XML_INPUT_USES_ENC_DECL
Definition: parser.h:26
#define XML_INPUT_AUTO_ENCODING
Definition: parser.h:21
char * name
Definition: compiler.c:66
#define BAD_CAST
Definition: xmlstring.h:35

Referenced by xmlSAX2EndDocument().

◆ xmlHaltParser()

XML_HIDDEN void XML_HIDDEN void xmlHaltParser ( xmlParserCtxtPtr  ctxt)

xmlHaltParser: @ctxt: an XML parser context

Blocks further parser processing don't override error for internal use

Definition at line 461 of file parserInternals.c.

461 {
462 if (ctxt == NULL)
463 return;
464 ctxt->instate = XML_PARSER_EOF;
465 ctxt->disableSAX = 1;
466 while (ctxt->inputNr > 1)
468 if (ctxt->input != NULL) {
469 /*
470 * in case there was a specific allocation deallocate before
471 * overriding base
472 */
473 if (ctxt->input->free != NULL) {
474 ctxt->input->free((xmlChar *) ctxt->input->base);
475 ctxt->input->free = NULL;
476 }
477 if (ctxt->input->buf != NULL) {
478 xmlFreeParserInputBuffer(ctxt->input->buf);
479 ctxt->input->buf = NULL;
480 }
481 ctxt->input->cur = BAD_CAST"";
482 ctxt->input->length = 0;
483 ctxt->input->base = ctxt->input->cur;
484 ctxt->input->end = ctxt->input->cur;
485 }
486}
void xmlFreeInputStream(xmlParserInputPtr input)
XMLPUBFUN xmlParserInputPtr inputPop(xmlParserCtxtPtr ctxt)
Definition: parser.c:1927
XMLPUBFUN void xmlFreeParserInputBuffer(xmlParserInputBufferPtr in)

Referenced by nodePush(), xmlCtxtResetPush(), xmlParseConditionalSections(), xmlParseElementStart(), xmlParseEntityDecl(), xmlParseExternalSubset(), xmlParseInternalSubset(), xmlParsePEReference(), xmlParseReference(), xmlParserEntityCheck(), xmlParserGrow(), xmlStopParser(), xmlStringDecodeEntitiesInt(), and xmlSwitchInputEncoding().

◆ xmlParserGrow()

XML_HIDDEN int xmlParserGrow ( xmlParserCtxtPtr  ctxt)

xmlParserGrow: @ctxt: an XML parser context

Grow the input buffer.

Returns the number of bytes read or -1 in case of error.

Definition at line 511 of file parserInternals.c.

511 {
512 xmlParserInputPtr in = ctxt->input;
513 xmlParserInputBufferPtr buf = in->buf;
514 ptrdiff_t curEnd = in->end - in->cur;
515 ptrdiff_t curBase = in->cur - in->base;
516 int ret;
517
518 if (buf == NULL)
519 return(0);
520 /* Don't grow push parser buffer. */
521 if ((ctxt->progressive) && (ctxt->inputNr <= 1))
522 return(0);
523 /* Don't grow memory buffers. */
524 if ((buf->encoder == NULL) && (buf->readcallback == NULL))
525 return(0);
526 if (buf->error != 0)
527 return(-1);
528
529 if (((curEnd > XML_MAX_LOOKUP_LIMIT) ||
530 (curBase > XML_MAX_LOOKUP_LIMIT)) &&
531 ((ctxt->options & XML_PARSE_HUGE) == 0)) {
532 xmlErrMemory(ctxt, "Huge input lookup");
533 xmlHaltParser(ctxt);
534 return(-1);
535 }
536
537 if (curEnd >= INPUT_CHUNK)
538 return(0);
539
541 xmlBufUpdateInput(buf->buffer, in, curBase);
542
543 if (ret < 0) {
544 xmlFatalErr(ctxt, buf->error, NULL);
545 /* Buffer contents may be lost in case of memory errors. */
546 if (buf->error == XML_ERR_NO_MEMORY)
547 xmlHaltParser(ctxt);
548 }
549
550 return(ret);
551}
int xmlBufUpdateInput(xmlBufPtr buf, xmlParserInputPtr input, size_t pos)
Definition: buf.c:1044
int ptrdiff_t
Definition: corecrt.h:194
return ret
Definition: mutex.c:146
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
void xmlErrMemory(xmlParserCtxtPtr ctxt, const char *extra)
void xmlFatalErr(xmlParserCtxtPtr ctxt, xmlParserErrors error, const char *info)
void xmlHaltParser(xmlParserCtxtPtr ctxt)
#define XML_MAX_LOOKUP_LIMIT
#define INPUT_CHUNK
@ XML_PARSE_HUGE
Definition: parser.h:1251
XMLPUBFUN int xmlParserInputBufferGrow(xmlParserInputBufferPtr in, int len)

Referenced by xmlCurrentChar(), xmlDetectEncoding(), xmlNextChar(), xmlPopInput(), and xmlSkipBlankChars().

◆ xmlParserNsCreate()

XML_HIDDEN xmlParserNsData * xmlParserNsCreate ( void  )

xmlParserNsCreate:

Create a new namespace database.

Returns the new obejct.

Definition at line 1413 of file parser.c.

1413 {
1414 xmlParserNsData *nsdb = xmlMalloc(sizeof(*nsdb));
1415
1416 if (nsdb == NULL)
1417 return(NULL);
1418 memset(nsdb, 0, sizeof(*nsdb));
1419 nsdb->defaultNsIndex = INT_MAX;
1420
1421 return(nsdb);
1422}
#define INT_MAX
Definition: limits.h:26
xmlMallocFunc xmlMalloc
Definition: globals.c:193
#define memset(x, y, z)
Definition: compat.h:39
int defaultNsIndex
Definition: parser.c:110

Referenced by xmlInitSAXParserCtxt().

◆ xmlParserNsFree()

XML_HIDDEN void xmlParserNsFree ( xmlParserNsData nsdb)

xmlParserNsFree: @nsdb: namespace database

Free a namespace database.

Definition at line 1431 of file parser.c.

1431 {
1432 if (nsdb == NULL)
1433 return;
1434
1435 xmlFree(nsdb->extra);
1436 xmlFree(nsdb->hash);
1437 xmlFree(nsdb);
1438}
xmlFreeFunc xmlFree
Definition: globals.c:184
xmlParserNsExtra * extra
Definition: parser.c:103
xmlParserNsBucket * hash
Definition: parser.c:107

Referenced by xmlFreeParserCtxt().

◆ xmlParserNsLookupSax()

XML_HIDDEN void * xmlParserNsLookupSax ( xmlParserCtxtPtr  ctxt,
const xmlChar prefix 
)

xmlParserNsLookupSax: @ctxt: parser context @prefix: namespace prefix

Lookup extra data for the given prefix. This returns data stored with xmlParserNsUdpateSax.

Returns the data on success, NULL if no namespace was found.

Definition at line 1569 of file parser.c.

1569 {
1570 xmlHashedString hprefix;
1571 int nsIndex;
1572
1573 if (prefix == ctxt->str_xml)
1574 return(NULL);
1575
1576 hprefix.name = prefix;
1577 if (prefix != NULL)
1578 hprefix.hashValue = xmlDictComputeHash(ctxt->dict, prefix);
1579 else
1580 hprefix.hashValue = 0;
1581 nsIndex = xmlParserNsLookup(ctxt, &hprefix, NULL);
1582 if (nsIndex == INT_MAX)
1583 return(NULL);
1584
1585 return(ctxt->nsdb->extra[nsIndex].saxData);
1586}
unsigned xmlDictComputeHash(const xmlDict *dict, const xmlChar *string)
Definition: dict.c:512
static int xmlParserNsLookup(xmlParserCtxtPtr ctxt, const xmlHashedString *prefix, xmlParserNsBucket **bucketPtr)
Definition: parser.c:1490
const xmlChar * name
Definition: dict.h:50
unsigned hashValue
Definition: dict.h:49
Character const *const prefix
Definition: tempnam.cpp:195

Referenced by xmlSAX2AttributeNs(), and xmlSAX2StartElementNs().

◆ xmlParserNsUpdateSax()

XML_HIDDEN int xmlParserNsUpdateSax ( xmlParserCtxtPtr  ctxt,
const xmlChar prefix,
void saxData 
)

xmlParserNsUpdateSax: @ctxt: parser context @prefix: namespace prefix @saxData: extra data for SAX handler

Sets or updates extra data for the given prefix. This value will be returned by xmlParserNsLookupSax as long as the namespace with the given prefix is in scope.

Returns the data on success, NULL if no namespace was found.

Definition at line 1601 of file parser.c.

1602 {
1603 xmlHashedString hprefix;
1604 int nsIndex;
1605
1606 if (prefix == ctxt->str_xml)
1607 return(-1);
1608
1609 hprefix.name = prefix;
1610 if (prefix != NULL)
1611 hprefix.hashValue = xmlDictComputeHash(ctxt->dict, prefix);
1612 else
1613 hprefix.hashValue = 0;
1614 nsIndex = xmlParserNsLookup(ctxt, &hprefix, NULL);
1615 if (nsIndex == INT_MAX)
1616 return(-1);
1617
1618 ctxt->nsdb->extra[nsIndex].saxData = saxData;
1619 return(0);
1620}

Referenced by xmlSAX2StartElementNs().

◆ xmlParserShrink()

XML_HIDDEN void xmlParserShrink ( xmlParserCtxtPtr  ctxt)

xmlParserShrink: @ctxt: an XML parser context

Shrink the input buffer.

Definition at line 607 of file parserInternals.c.

607 {
608 xmlParserInputPtr in = ctxt->input;
609 xmlParserInputBufferPtr buf = in->buf;
610 size_t used;
611
612 if (buf == NULL)
613 return;
614 /* Don't shrink pull parser memory buffers. */
615 if (((ctxt->progressive == 0) || (ctxt->inputNr > 1)) &&
616 (buf->encoder == NULL) &&
617 (buf->readcallback == NULL))
618 return;
619
620 used = in->cur - in->base;
621 /*
622 * Do not shrink on large buffers whose only a tiny fraction
623 * was consumed
624 */
625 if (used > INPUT_CHUNK) {
626 size_t res = xmlBufShrink(buf->buffer, used - LINE_LEN);
627
628 if (res > 0) {
629 used -= res;
630 if ((res > ULONG_MAX) ||
631 (in->consumed > ULONG_MAX - (unsigned long)res))
632 in->consumed = ULONG_MAX;
633 else
634 in->consumed += res;
635 }
636 }
637
638 xmlBufUpdateInput(buf->buffer, in, used);
639}
static int used
Definition: adh-main.c:39
size_t xmlBufShrink(xmlBufPtr buf, size_t len)
Definition: buf.c:328
#define ULONG_MAX
Definition: limits.h:31
GLuint res
Definition: glext.h:9613
#define LINE_LEN

◆ xmlSetDeclaredEncoding()

XML_HIDDEN void xmlSetDeclaredEncoding ( xmlParserCtxtPtr  ctxt,
xmlChar encoding 
)

xmlSetDeclaredEncoding: @ctxt: the parser context @encoding: declared encoding

Set the encoding from a declaration in the document.

If no encoding was set yet, switch the encoding. Otherwise, only warn about encoding mismatches.

Takes ownership of 'encoding'.

Definition at line 1414 of file parserInternals.c.

1414 {
1415 if (ctxt->encoding != NULL)
1416 xmlFree((xmlChar *) ctxt->encoding);
1417 ctxt->encoding = encoding;
1418
1419 if (((ctxt->input->flags & XML_INPUT_HAS_ENCODING) == 0) &&
1420 ((ctxt->options & XML_PARSE_IGNORE_ENC) == 0)) {
1422
1423 handler = xmlFindCharEncodingHandler((const char *) encoding);
1424 if (handler == NULL) {
1426 "Unsupported encoding: %s\n",
1427 encoding, NULL);
1428 return;
1429 }
1430
1432 ctxt->input->flags |= XML_INPUT_USES_ENC_DECL;
1433 } else if (ctxt->input->flags & XML_INPUT_AUTO_ENCODING) {
1434 static const char *allowedUTF8[] = {
1435 "UTF-8", "UTF8", NULL
1436 };
1437 static const char *allowedUTF16LE[] = {
1438 "UTF-16", "UTF-16LE", "UTF16", NULL
1439 };
1440 static const char *allowedUTF16BE[] = {
1441 "UTF-16", "UTF-16BE", "UTF16", NULL
1442 };
1443 const char **allowed = NULL;
1444 const char *autoEnc = NULL;
1445
1446 switch (ctxt->input->flags & XML_INPUT_AUTO_ENCODING) {
1448 allowed = allowedUTF8;
1449 autoEnc = "UTF-8";
1450 break;
1452 allowed = allowedUTF16LE;
1453 autoEnc = "UTF-16LE";
1454 break;
1456 allowed = allowedUTF16BE;
1457 autoEnc = "UTF-16BE";
1458 break;
1459 }
1460
1461 if (allowed != NULL) {
1462 const char **p;
1463 int match = 0;
1464
1465 for (p = allowed; *p != NULL; p++) {
1466 if (xmlStrcasecmp(encoding, BAD_CAST *p) == 0) {
1467 match = 1;
1468 break;
1469 }
1470 }
1471
1472 if (match == 0) {
1473 xmlWarningMsg(ctxt, XML_WAR_ENCODING_MISMATCH,
1474 "Encoding '%s' doesn't match "
1475 "auto-detected '%s'\n",
1476 encoding, BAD_CAST autoEnc);
1477 }
1478 }
1479 }
1480}
UINT(* handler)(MSIPACKAGE *)
Definition: action.c:7512
xmlCharEncodingHandlerPtr xmlFindCharEncodingHandler(const char *name)
Definition: encoding.c:1677
GLfloat GLfloat p
Definition: glext.h:8902
void __xmlErrEncoding(xmlParserCtxtPtr ctxt, xmlParserErrors xmlerr, const char *msg, const xmlChar *str1, const xmlChar *str2)
int xmlSwitchToEncoding(xmlParserCtxtPtr ctxt, xmlCharEncodingHandlerPtr handler)
@ XML_PARSE_IGNORE_ENC
Definition: parser.h:1253
Definition: match.c:28
@ XML_WAR_ENCODING_MISMATCH
Definition: xmlerror.h:213
@ XML_ERR_UNSUPPORTED_ENCODING
Definition: xmlerror.h:132
XMLPUBFUN int xmlStrcasecmp(const xmlChar *str1, const xmlChar *str2)
Definition: xmlstring.c:277

Referenced by xmlParseEncodingDecl().

Variable Documentation

◆ error

Definition at line 34 of file parser.h.

◆ msg

Definition at line 35 of file parser.h.

◆ str1

Definition at line 35 of file parser.h.

Referenced by __xmlErrEncoding(), _mbscmp(), _mbscoll(), _mbscoll_l(), _mbscspn(), _mbsicmp(), _mbsicoll(), _mbsicoll_l(), _mbsnbcmp(), _mbsnbcoll(), _mbsnbcoll_l(), _mbsnbicoll(), _mbsnbicoll_l(), _mbsncmp(), _mbsncoll(), _mbsspn(), _mbsspnp(), _mbsstr(), _mbsstr_l(), _strcoll_l(), _stricmp(), _stricoll(), _stricoll_l(), _strncoll(), _strncoll_l(), _strnicoll(), _strnicoll_l(), _strspnp(), _wcscoll_l(), _wcsicmp(), _wcsicmp_l(), _wcsicoll(), _wcsicoll_l(), _wcsncoll(), _wcsncoll_l(), _wcsnicmp(), _wcsnicmp_l(), _wcsnicoll(), _wcsnicoll_l(), StringTest::allocator_with_state(), array_tests(), StringTest::assign(), char_compare(), cmp_string(), LocaleTest::collate_by_name(), LocaleTest::collate_facet(), COMCTL32_ChrCmpHelperA(), StringTest::compare(), compare1(), compare_case_weights(), compare_diacritic_weights(), compare_unicode_weights(), compare_weights(), CCabFolder::CompareID(), CompareStringA(), CompareStringEx(), CompareStringOrdinal(), CompareStringW(), dns_strcmpX(), DoEntry(), FileMonikerImpl_ComposeWith(), FileMonikerImpl_RelativePathTo(), Global_InStr(), Global_InStrRev(), StringTest::insert(), is_matching_string(), jsstr_cmp(), jsstr_concat(), KdbpCmdBreakPointList(), KdbpCmdProc(), KdbpCmdThread(), LIBXML_ATTR_FORMAT(), LISTBOX_lstrcmpiW(), lstrcmpA(), lstrcmpiA(), lstrcmpiW(), lstrcmpW(), lwip_stricmp(), lwip_strnicmp(), MACRO_ALink(), MACRO_AppendItem(), MACRO_ChangeItemBinding(), MACRO_ControlPanel(), MACRO_ExtInsertItem(), MACRO_ExtInsertMenu(), MACRO_InsertItem(), MACRO_InsertMenu(), MACRO_KLink(), MACRO_PopupId(), MACRO_ShellExecute(), MACRO_ShortCut(), MACRO_UpdateWindow(), memicmpW(), msi_option_equal(), msi_option_prefix(), msi_strequal(), msi_strprefix(), option_equal(), tinyxml2::XMLDocument::SetError(), SHLWAPI_ChrCmpHelperA(), StringTest::short_string(), strcmp(), strcmp_key(), strcmp_w(), strcmp_wa(), strcmpiW(), strcmpW(), strcoll(), string_off_equal(), strncasecmp(), strncmp(), strncmpiW(), strncmpW(), strval_eq(), test__strnicmp(), test__strnicmp_l(), test__tcscoll(), test__tcsncoll(), test__tcsnicoll(), test__wcsicmp_l(), test_aclist_expand(), test_CompareStringW(), test_EM_GETHANDLE(), test_mbsspn(), test_mbsspnp(), test_prefix_filtering(), test_quoted_RDN(), test_RtlCompareUnicodeString(), test_StrCmpA(), test_StrCmpW(), test_StrXXX_overflows(), test_VarBstrCat(), test_VarDiv(), test_VarIdiv(), test_wcsnicmp(), test_XMLHTTP(), uacpi_strlen(), uacpi_strnlen(), UpdSpSetDynamicStringA(), wcscmp(), wcscoll(), wcsicoll(), wcsncmp(), wcsnicmp(), Widget_DoSomething(), wine_compare_string(), winetest_strcmpW(), xmlStrcasecmp(), xmlStrcmp(), xmlStrEqual(), xmlStrncasecmp(), xmlStrncatNew(), xmlStrncmp(), and xsltLocaleStrcmp().

◆ str2

Definition at line 35 of file parser.h.

Referenced by __xmlErrEncoding(), _mbscmp(), _mbscoll(), _mbscoll_l(), _mbscspn(), _mbsicmp(), _mbsicoll(), _mbsicoll_l(), _mbsnbcmp(), _mbsnbcoll(), _mbsnbcoll_l(), _mbsnbicoll(), _mbsnbicoll_l(), _mbsncmp(), _mbsncoll(), _mbsspn(), _mbsspnp(), _mbsstr(), _mbsstr_l(), _strcoll_l(), _strdec(), _stricmp(), _stricoll(), _stricoll_l(), _strncoll(), _strncoll_l(), _strnicoll(), _strnicoll_l(), _strspnp(), _wcscoll_l(), _wcsicmp(), _wcsicmp_l(), _wcsicoll(), _wcsicoll_l(), _wcsncoll(), _wcsncoll_l(), _wcsnicmp(), _wcsnicmp_l(), _wcsnicoll(), _wcsnicoll_l(), StringTest::allocator_with_state(), StringTest::assign(), char_compare(), cmp_string(), LocaleTest::collate_by_name(), LocaleTest::collate_facet(), COMCTL32_ChrCmpHelperA(), StringTest::compare(), compare1(), compare_case_weights(), compare_diacritic_weights(), compare_unicode_weights(), compare_weights(), CCabFolder::CompareID(), CompareStringA(), CompareStringEx(), CompareStringOrdinal(), CompareStringW(), dns_strcmpX(), _Messages::do_get(), DoEntry(), FileMonikerImpl_ComposeWith(), FileMonikerImpl_RelativePathTo(), Global_InStr(), Global_InStrRev(), HandleList_Update(), iframe_onreadystatechange(), StringTest::insert(), is_matching_string(), jsstr_cmp(), jsstr_concat(), KdbpCmdBreakPointList(), KdbpCmdProc(), KdbpCmdThread(), LIBXML_ATTR_FORMAT(), LISTBOX_lstrcmpiW(), lstrcmpA(), lstrcmpiA(), lstrcmpiW(), lstrcmpW(), lwip_stricmp(), lwip_strnicmp(), MACRO_ALink(), MACRO_AppendItem(), MACRO_ChangeItemBinding(), MACRO_ControlPanel(), MACRO_ExtInsertItem(), MACRO_ExtInsertMenu(), MACRO_InsertItem(), MACRO_InsertMenu(), MACRO_KLink(), MACRO_PopupId(), MACRO_ShellExecute(), MACRO_ShortCut(), MACRO_UpdateWindow(), memicmpW(), msi_option_equal(), msi_option_prefix(), msi_strequal(), msi_strprefix(), node_put_text(), option_equal(), CHttpClient::SendFile(), tinyxml2::XMLDocument::SetError(), SHLWAPI_ChrCmpHelperA(), strcmp(), strcmp_key(), strcmp_w(), strcmp_wa(), strcmpiW(), strcmpW(), strcoll(), string_off_equal(), strncasecmp(), strncmp(), strncmpiW(), strncmpW(), strval_eq(), test__strnicmp(), test__strnicmp_l(), test__strupr(), test__tcscoll(), test__tcsncoll(), test__tcsnicoll(), test__wcsicmp_l(), test_aclist_expand(), test_bstr_cache(), test_CompareStringW(), test_cookies(), test_edit_control_3(), test_EM_GETHANDLE(), test_GetAltMonthNames(), test_mbsspn(), test_mbsspnp(), test_mxwriter_properties(), test_name_limits(), test_paste(), test_prefix_filtering(), test_put_href(), test_quoted_RDN(), test_RtlCompareUnicodeString(), test_StrCmpA(), test_StrCmpW(), test_user_agent(), test_VarBstrCat(), test_VarDiv(), test_VarIdiv(), test_VarPow(), test_wcsnicmp(), UpdSpSetDynamicStringA(), wcscmp(), wcscoll(), wcsicoll(), wcsncmp(), wcsnicmp(), Widget_DoSomething(), wine_compare_string(), winetest_strcmpW(), xmlStrcasecmp(), xmlStrcmp(), xmlStrEqual(), xmlStrncasecmp(), xmlStrncatNew(), xmlStrncmp(), and xsltLocaleStrcmp().