1
0
mirror of https://gitlab.gnome.org/GNOME/libxml2.git synced 2025-08-07 06:43:02 +03:00

make sure xmllint --stream and xmllint --stream --valid returns errors

* xmllint.c xmlreader.c include/libxml/xmlreader.h: make sure
  xmllint --stream and xmllint --stream --valid returns errors
  code appropriately
Daniel
This commit is contained in:
Daniel Veillard
2003-04-11 19:38:54 +00:00
parent c6cae7b690
commit f6bad798cf
4 changed files with 30 additions and 0 deletions

View File

@@ -1,3 +1,9 @@
Fri Apr 11 21:36:21 CEST 2003 Daniel Veillard <daniel@veillard.com>
* xmllint.c xmlreader.c include/libxml/xmlreader.h: make sure
xmllint --stream and xmllint --stream --valid returns errors
code appropriately
Fri Apr 11 10:59:24 CEST 2003 Daniel Veillard <daniel@veillard.com>
* xmlreader.c include/libxml/xmlreader.h: Added the Expand()

View File

@@ -108,6 +108,7 @@ xmlNodePtr xmlTextReaderCurrentNode (xmlTextReaderPtr reader);
xmlDocPtr xmlTextReaderCurrentDoc (xmlTextReaderPtr reader);
xmlNodePtr xmlTextReaderExpand (xmlTextReaderPtr reader);
int xmlTextReaderNext (xmlTextReaderPtr reader);
int xmlTextReaderIsValid (xmlTextReaderPtr reader);
/*
* Error handling extensions

View File

@@ -635,15 +635,24 @@ static void streamFile(char *filename) {
ret = xmlTextReaderRead(reader);
}
if (valid) {
if (xmlTextReaderIsValid(reader) != 1) {
xmlGenericError(xmlGenericErrorContext,
"Document %s does not validate\n", filename);
progresult = 3;
}
}
/*
* Done, cleanup and status
*/
xmlFreeTextReader(reader);
if (ret != 0) {
printf("%s : failed to parse\n", filename);
progresult = 1;
}
} else {
fprintf(stderr, "Unable to open %s\n", filename);
progresult = 1;
}
}

View File

@@ -2611,6 +2611,20 @@ xmlTextReaderSetErrorHandler(xmlTextReaderPtr reader,
}
}
/**
* xmlTextReaderIsValid:
* @reader: the xmlTextReaderPtr used
*
* Retrieve the validity status from the parser context
*
* Returns the flag value 1 if valid, 0 if no, and -1 in case of error
*/
int
xmlTextReaderIsValid(xmlTextReaderPtr reader) {
if ((reader == NULL) || (reader->ctxt == NULL)) return(-1);
return(reader->ctxt->valid);
}
/**
* xmlTextReaderGetErrorHandler:
* @reader: the xmlTextReaderPtr used