mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2025-07-29 11:41:22 +03:00
Bunch of fixes, finishing moving datastructures to the hash stuff:
- hash.[ch] debugXML.c: expanded/enhanced the API, added multikey tuples, made hash structure opaque - valid.[ch]: moved elements, attributes, notations decalarations as well as ID and refs to hash tables. - entities.c: hash cleanup - xmlmemory.c: fixed a dump problem in debug mode - include/Makefile.am: problem passing in DESTDIR= values patch from Marc Christensen <marc@calderasystems.com> - nanohttp.c: removed debugging remains - HTMLparser.c: the bogus tag should be ignored (Wayne) - HTMLparser.c parser.c: fixing a number of problems with the macros in the *parser.c files (Wayne). - HTMLparser.c: close the previous option when opening a new one (Marc Sanfacon). - result/HTML/*: updated the HTML results accordingly Daniel
This commit is contained in:
33
parser.c
33
parser.c
@ -215,41 +215,48 @@ int spacePop(xmlParserCtxtPtr ctxt) {
|
||||
#define NXT(val) ctxt->input->cur[(val)]
|
||||
#define CUR_PTR ctxt->input->cur
|
||||
|
||||
#define SKIP(val) ctxt->nbChars += (val),ctxt->input->cur += (val); \
|
||||
#define SKIP(val) do { \
|
||||
ctxt->nbChars += (val),ctxt->input->cur += (val); \
|
||||
if (*ctxt->input->cur == '%') xmlParserHandlePEReference(ctxt); \
|
||||
/* DEPR if (*ctxt->input->cur == '&') xmlParserHandleReference(ctxt); */\
|
||||
if ((*ctxt->input->cur == 0) && \
|
||||
(xmlParserInputGrow(ctxt->input, INPUT_CHUNK) <= 0)) \
|
||||
xmlPopInput(ctxt)
|
||||
xmlPopInput(ctxt); \
|
||||
} while (0)
|
||||
|
||||
#define SHRINK xmlParserInputShrink(ctxt->input); \
|
||||
#define SHRINK do { \
|
||||
xmlParserInputShrink(ctxt->input); \
|
||||
if ((*ctxt->input->cur == 0) && \
|
||||
(xmlParserInputGrow(ctxt->input, INPUT_CHUNK) <= 0)) \
|
||||
xmlPopInput(ctxt)
|
||||
xmlPopInput(ctxt); \
|
||||
} while (0)
|
||||
|
||||
#define GROW xmlParserInputGrow(ctxt->input, INPUT_CHUNK); \
|
||||
#define GROW do { \
|
||||
xmlParserInputGrow(ctxt->input, INPUT_CHUNK); \
|
||||
if ((*ctxt->input->cur == 0) && \
|
||||
(xmlParserInputGrow(ctxt->input, INPUT_CHUNK) <= 0)) \
|
||||
xmlPopInput(ctxt)
|
||||
xmlPopInput(ctxt); \
|
||||
} while (0)
|
||||
|
||||
#define SKIP_BLANKS xmlSkipBlankChars(ctxt);
|
||||
#define SKIP_BLANKS xmlSkipBlankChars(ctxt)
|
||||
|
||||
#define NEXT xmlNextChar(ctxt);
|
||||
#define NEXT xmlNextChar(ctxt)
|
||||
|
||||
#define NEXTL(l) \
|
||||
#define NEXTL(l) do { \
|
||||
if (*(ctxt->input->cur) == '\n') { \
|
||||
ctxt->input->line++; ctxt->input->col = 1; \
|
||||
} else ctxt->input->col++; \
|
||||
ctxt->token = 0; ctxt->input->cur += l; \
|
||||
if (*ctxt->input->cur == '%') xmlParserHandlePEReference(ctxt); \
|
||||
/* DEPR if (*ctxt->input->cur == '&') xmlParserHandleReference(ctxt); */
|
||||
/* DEPR if (*ctxt->input->cur == '&') xmlParserHandleReference(ctxt); */\
|
||||
} while (0)
|
||||
|
||||
#define CUR_CHAR(l) xmlCurrentChar(ctxt, &l);
|
||||
#define CUR_SCHAR(s, l) xmlStringCurrentChar(ctxt, s, &l);
|
||||
#define CUR_CHAR(l) xmlCurrentChar(ctxt, &l)
|
||||
#define CUR_SCHAR(s, l) xmlStringCurrentChar(ctxt, s, &l)
|
||||
|
||||
#define COPY_BUF(l,b,i,v) \
|
||||
if (l == 1) b[i++] = (xmlChar) v; \
|
||||
else i += xmlCopyChar(l,&b[i],v);
|
||||
else i += xmlCopyChar(l,&b[i],v)
|
||||
|
||||
/**
|
||||
* xmlSkipBlankChars:
|
||||
|
Reference in New Issue
Block a user