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:
@@ -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>
|
Fri Apr 11 10:59:24 CEST 2003 Daniel Veillard <daniel@veillard.com>
|
||||||
|
|
||||||
* xmlreader.c include/libxml/xmlreader.h: Added the Expand()
|
* xmlreader.c include/libxml/xmlreader.h: Added the Expand()
|
||||||
|
@@ -108,6 +108,7 @@ xmlNodePtr xmlTextReaderCurrentNode (xmlTextReaderPtr reader);
|
|||||||
xmlDocPtr xmlTextReaderCurrentDoc (xmlTextReaderPtr reader);
|
xmlDocPtr xmlTextReaderCurrentDoc (xmlTextReaderPtr reader);
|
||||||
xmlNodePtr xmlTextReaderExpand (xmlTextReaderPtr reader);
|
xmlNodePtr xmlTextReaderExpand (xmlTextReaderPtr reader);
|
||||||
int xmlTextReaderNext (xmlTextReaderPtr reader);
|
int xmlTextReaderNext (xmlTextReaderPtr reader);
|
||||||
|
int xmlTextReaderIsValid (xmlTextReaderPtr reader);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Error handling extensions
|
* Error handling extensions
|
||||||
|
@@ -635,15 +635,24 @@ static void streamFile(char *filename) {
|
|||||||
ret = xmlTextReaderRead(reader);
|
ret = xmlTextReaderRead(reader);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (valid) {
|
||||||
|
if (xmlTextReaderIsValid(reader) != 1) {
|
||||||
|
xmlGenericError(xmlGenericErrorContext,
|
||||||
|
"Document %s does not validate\n", filename);
|
||||||
|
progresult = 3;
|
||||||
|
}
|
||||||
|
}
|
||||||
/*
|
/*
|
||||||
* Done, cleanup and status
|
* Done, cleanup and status
|
||||||
*/
|
*/
|
||||||
xmlFreeTextReader(reader);
|
xmlFreeTextReader(reader);
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
printf("%s : failed to parse\n", filename);
|
printf("%s : failed to parse\n", filename);
|
||||||
|
progresult = 1;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
fprintf(stderr, "Unable to open %s\n", filename);
|
fprintf(stderr, "Unable to open %s\n", filename);
|
||||||
|
progresult = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
14
xmlreader.c
14
xmlreader.c
@@ -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:
|
* xmlTextReaderGetErrorHandler:
|
||||||
* @reader: the xmlTextReaderPtr used
|
* @reader: the xmlTextReaderPtr used
|
||||||
|
Reference in New Issue
Block a user