Commit cba68396 authored by Daniel Veillard's avatar Daniel Veillard

a couple more fixes patch from Andreas Färber to compile on Haiku

* parser.c: a couple more fixes
* nanohttp.c nanoftp.c: patch from Andreas Färber  to compile on Haiku
* doc/examples/*: regenerated
daniel

svn path=/trunk/; revision=3784
parent 0161e638
Fri Aug 29 14:41:38 CEST 2008 Daniel Veillard <daniel@veillard.com>
* parser.c: a couple more fixes
* nanohttp.c nanoftp.c: patch from Andreas Färber to compile on Haiku
* doc/examples/*: regenerated
Thu Aug 28 17:31:46 CEST 2008 Daniel Veillard <daniel@veillard.com>
* parser.c include/libxml/parser.h: completely different fix for
......
.memdump
Makefile.in
Makefile
xpath2
reader1
reader4
parse2
reader2
xpath2
xpath1
parse3
reader3
tree2
parse4
io2
tree2
reader1
testWriter
parse4
reader3
io1
xpath1
parse1
tree1
reader4
parse2
......@@ -15,75 +15,65 @@ install-data-local:
$(mkinstalldirs) $(DESTDIR)$(HTML_DIR)
-@INSTALL@ -m 0644 $(srcdir)/*.html $(srcdir)/*.c $(srcdir)/*.xml $(srcdir)/*.xsl $(srcdir)/*.res $(DESTDIR)$(HTML_DIR)
EXTRA_DIST=examples.xsl index.py examples.xml writer.xml test3.xml tst.xml test1.xml test2.xml io2.res xpath2.res tree1.res reader4.res io1.res tree2.res reader3.res xpath1.res reader1.res
EXTRA_DIST=examples.xsl index.py test1.xml examples.xml test2.xml tst.xml writer.xml test3.xml tree2.res xpath1.res reader1.res reader3.res reader4.res io1.res xpath2.res io2.res tree1.res
noinst_PROGRAMS=xpath2 reader1 reader4 parse2 reader2 parse3 reader3 tree2 parse4 io2 testWriter io1 xpath1 parse1 tree1
noinst_PROGRAMS=reader2 xpath2 xpath1 parse3 io2 tree2 reader1 testWriter parse4 reader3 io1 parse1 tree1 reader4 parse2
reader2_SOURCES=reader2.c
reader2_LDFLAGS=
reader2_DEPENDENCIES= $(DEPS)
reader2_LDADD= @RDL_LIBS@ $(LDADDS)
xpath2_SOURCES=xpath2.c
xpath2_LDFLAGS=
xpath2_DEPENDENCIES= $(DEPS)
xpath2_LDADD= @RDL_LIBS@ $(LDADDS)
reader1_SOURCES=reader1.c
reader1_LDFLAGS=
reader1_DEPENDENCIES= $(DEPS)
reader1_LDADD= @RDL_LIBS@ $(LDADDS)
reader4_SOURCES=reader4.c
reader4_LDFLAGS=
reader4_DEPENDENCIES= $(DEPS)
reader4_LDADD= @RDL_LIBS@ $(LDADDS)
parse2_SOURCES=parse2.c
parse2_LDFLAGS=
parse2_DEPENDENCIES= $(DEPS)
parse2_LDADD= @RDL_LIBS@ $(LDADDS)
reader2_SOURCES=reader2.c
reader2_LDFLAGS=
reader2_DEPENDENCIES= $(DEPS)
reader2_LDADD= @RDL_LIBS@ $(LDADDS)
xpath1_SOURCES=xpath1.c
xpath1_LDFLAGS=
xpath1_DEPENDENCIES= $(DEPS)
xpath1_LDADD= @RDL_LIBS@ $(LDADDS)
parse3_SOURCES=parse3.c
parse3_LDFLAGS=
parse3_DEPENDENCIES= $(DEPS)
parse3_LDADD= @RDL_LIBS@ $(LDADDS)
reader3_SOURCES=reader3.c
reader3_LDFLAGS=
reader3_DEPENDENCIES= $(DEPS)
reader3_LDADD= @RDL_LIBS@ $(LDADDS)
io2_SOURCES=io2.c
io2_LDFLAGS=
io2_DEPENDENCIES= $(DEPS)
io2_LDADD= @RDL_LIBS@ $(LDADDS)
tree2_SOURCES=tree2.c
tree2_LDFLAGS=
tree2_DEPENDENCIES= $(DEPS)
tree2_LDADD= @RDL_LIBS@ $(LDADDS)
parse4_SOURCES=parse4.c
parse4_LDFLAGS=
parse4_DEPENDENCIES= $(DEPS)
parse4_LDADD= @RDL_LIBS@ $(LDADDS)
io2_SOURCES=io2.c
io2_LDFLAGS=
io2_DEPENDENCIES= $(DEPS)
io2_LDADD= @RDL_LIBS@ $(LDADDS)
reader1_SOURCES=reader1.c
reader1_LDFLAGS=
reader1_DEPENDENCIES= $(DEPS)
reader1_LDADD= @RDL_LIBS@ $(LDADDS)
testWriter_SOURCES=testWriter.c
testWriter_LDFLAGS=
testWriter_DEPENDENCIES= $(DEPS)
testWriter_LDADD= @RDL_LIBS@ $(LDADDS)
parse4_SOURCES=parse4.c
parse4_LDFLAGS=
parse4_DEPENDENCIES= $(DEPS)
parse4_LDADD= @RDL_LIBS@ $(LDADDS)
reader3_SOURCES=reader3.c
reader3_LDFLAGS=
reader3_DEPENDENCIES= $(DEPS)
reader3_LDADD= @RDL_LIBS@ $(LDADDS)
io1_SOURCES=io1.c
io1_LDFLAGS=
io1_DEPENDENCIES= $(DEPS)
io1_LDADD= @RDL_LIBS@ $(LDADDS)
xpath1_SOURCES=xpath1.c
xpath1_LDFLAGS=
xpath1_DEPENDENCIES= $(DEPS)
xpath1_LDADD= @RDL_LIBS@ $(LDADDS)
parse1_SOURCES=parse1.c
parse1_LDFLAGS=
parse1_DEPENDENCIES= $(DEPS)
......@@ -94,41 +84,51 @@ tree1_LDFLAGS=
tree1_DEPENDENCIES= $(DEPS)
tree1_LDADD= @RDL_LIBS@ $(LDADDS)
reader4_SOURCES=reader4.c
reader4_LDFLAGS=
reader4_DEPENDENCIES= $(DEPS)
reader4_LDADD= @RDL_LIBS@ $(LDADDS)
parse2_SOURCES=parse2.c
parse2_LDFLAGS=
parse2_DEPENDENCIES= $(DEPS)
parse2_LDADD= @RDL_LIBS@ $(LDADDS)
valgrind:
$(MAKE) CHECKER='valgrind' tests
tests: $(noinst_PROGRAMS)
@(echo '## examples regression tests')
@(echo > .memdump)
@($(CHECKER) ./xpath2 test3.xml '//discarded' discarded > xpath2.tmp ; diff xpath2.tmp xpath2.res ; rm xpath2.tmp)
@(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
@($(CHECKER) ./reader1 test2.xml > reader1.tmp ; diff reader1.tmp reader1.res ; rm reader1.tmp)
@(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
@($(CHECKER) ./reader4 test1.xml test2.xml test3.xml > reader4.tmp ; diff reader4.tmp reader4.res ; rm reader4.tmp)
@($(CHECKER) ./reader2 test2.xml > reader1.tmp ; diff reader1.tmp reader1.res ; rm reader1.tmp)
@(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
@($(CHECKER) ./parse2 test2.xml)
@($(CHECKER) ./xpath2 test3.xml '//discarded' discarded > xpath2.tmp ; diff xpath2.tmp xpath2.res ; rm xpath2.tmp)
@(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
@($(CHECKER) ./reader2 test2.xml > reader1.tmp ; diff reader1.tmp reader1.res ; rm reader1.tmp)
@($(CHECKER) ././xpath1 test3.xml '//child2' > xpath1.tmp ; diff xpath1.tmp xpath1.res ; rm xpath1.tmp)
@(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
@($(CHECKER) ./parse3)
@(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
@($(CHECKER) ./reader3 > reader3.tmp ; diff reader3.tmp reader3.res ; rm reader3.tmp)
@($(CHECKER) ./io2 > io2.tmp ; diff io2.tmp io2.res ; rm -f io2.tmp)
@(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
@($(CHECKER) ./tree2 > tree2.tmp ; diff tree2.tmp tree2.res ; rm tree2.tmp)
@(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
@($(CHECKER) ./parse4 test3.xml)
@(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
@($(CHECKER) ./io2 > io2.tmp ; diff io2.tmp io2.res ; rm -f io2.tmp)
@($(CHECKER) ./reader1 test2.xml > reader1.tmp ; diff reader1.tmp reader1.res ; rm reader1.tmp)
@(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
@($(CHECKER) ./testWriter ; for i in 1 2 3 4 ; do diff writer.xml writer$$i.res ; done ; rm writer*.res)
@(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
@($(CHECKER) ./io1 > io1.tmp ; diff io1.tmp io1.res ; rm -f io1.tmp)
@($(CHECKER) ./parse4 test3.xml)
@(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
@($(CHECKER) ././xpath1 test3.xml '//child2' > xpath1.tmp ; diff xpath1.tmp xpath1.res ; rm xpath1.tmp)
@($(CHECKER) ./reader3 > reader3.tmp ; diff reader3.tmp reader3.res ; rm reader3.tmp)
@(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
@($(CHECKER) ./io1 > io1.tmp ; diff io1.tmp io1.res ; rm -f io1.tmp)
@(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
@($(CHECKER) ./parse1 test1.xml)
@(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
@($(CHECKER) ./tree1 test2.xml > tree1.tmp ; diff tree1.tmp tree1.res ; rm tree1.tmp)
@(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
@($(CHECKER) ./reader4 test1.xml test2.xml test3.xml > reader4.tmp ; diff reader4.tmp reader4.res ; rm reader4.tmp)
@(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
@($(CHECKER) ./parse2 test2.xml)
@(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
This diff is collapsed.
......@@ -89,7 +89,7 @@
* A couple portability macros
*/
#ifndef _WINSOCKAPI_
#ifndef __BEOS__
#if !defined(__BEOS__) || defined(__HAIKU__)
#define closesocket(s) close(s)
#endif
#define SOCKET int
......
......@@ -95,7 +95,7 @@
* A couple portability macros
*/
#ifndef _WINSOCKAPI_
#ifndef __BEOS__
#if !defined(__BEOS__) || defined(__HAIKU__)
#define closesocket(s) close(s)
#endif
#define SOCKET int
......@@ -844,7 +844,7 @@ xmlNanoHTTPConnectAttempt(struct sockaddr *addr)
status = ioctl(s, FIONBIO, &enable);
}
#else /* VMS */
#if defined(__BEOS__)
#if defined(__BEOS__) && !defined(__HAIKU__)
{
bool noblock = true;
status = setsockopt(s, SOL_SOCKET, SO_NONBLOCK, &noblock, sizeof(noblock));
......
......@@ -113,7 +113,7 @@ static int
xmlParserEntityCheck(xmlParserCtxtPtr ctxt, unsigned long size,
xmlEntityPtr ent)
{
int consumed = 0;
unsigned long consumed = 0;
if ((ctxt == NULL) || (ctxt->options & XML_PARSE_HUGE))
return (0);
......@@ -3661,6 +3661,9 @@ xmlParseAttValueComplex(xmlParserCtxtPtr ctxt, int *attlen, int normalize) {
}
} else {
ent = xmlParseEntityRef(ctxt);
ctxt->nbentities++;
if (ent != NULL)
ctxt->nbentities += ent->owner;
if ((ent != NULL) &&
(ent->etype == XML_INTERNAL_PREDEFINED_ENTITY)) {
if (len > buf_size - 10) {
......@@ -6951,7 +6954,8 @@ xmlParseReference(xmlParserCtxtPtr ctxt) {
break;
cur = next;
}
ent->owner = 1;
if (ent->owner == 0)
ent->owner = 1;
#ifdef LIBXML_LEGACY_ENABLED
if (ent->etype == XML_EXTERNAL_GENERAL_PARSED_ENTITY)
xmlAddEntityReference(ent, firstChild, nw);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment