examples: Make passing of depth pointer consistent across examples

This commit is contained in:
Sebastian Pipping 2022-10-24 01:35:06 +02:00
parent 9c7bd378b6
commit fcb91e43bd
2 changed files with 9 additions and 9 deletions

View file

@ -58,7 +58,7 @@
static void XMLCALL
startElement(void *userData, const XML_Char *name, const XML_Char **atts) {
int i;
int *depthPtr = (int *)userData;
int *const depthPtr = (int *)userData;
(void)atts;
for (i = 0; i < *depthPtr; i++)
@ -69,7 +69,7 @@ startElement(void *userData, const XML_Char *name, const XML_Char **atts) {
static void XMLCALL
endElement(void *userData, const XML_Char *name) {
int *depthPtr = (int *)userData;
int *const depthPtr = (int *)userData;
(void)name;
*depthPtr -= 1;

View file

@ -53,14 +53,12 @@
#define BUFFSIZE 8192
int Depth;
static void XMLCALL
start(void *data, const XML_Char *el, const XML_Char **attr) {
int i;
(void)data;
int *const depthPtr = (int *)data;
for (i = 0; i < Depth; i++)
for (i = 0; i < *depthPtr; i++)
printf(" ");
printf("%" XML_FMT_STR, el);
@ -70,27 +68,29 @@ start(void *data, const XML_Char *el, const XML_Char **attr) {
}
printf("\n");
Depth++;
*depthPtr += 1;
}
static void XMLCALL
end(void *data, const XML_Char *el) {
(void)data;
int *const depthPtr = (int *)data;
(void)el;
Depth--;
*depthPtr -= 1;
}
int
main(void) {
char buf[BUFFSIZE];
XML_Parser parser = XML_ParserCreate(NULL);
int depth = 0;
if (! parser) {
fprintf(stderr, "Couldn't allocate memory for parser\n");
exit(-1);
}
XML_SetUserData(parser, &depth);
XML_SetElementHandler(parser, start, end);
for (;;) {