Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
Also minor wording fixes.
|
|
|
|
|
|
|
|
Users no longer need to #include "pugixml.cpp"
|
|
Mostly added correct quotation to changelog.
|
|
This is mostly done using regex replaces of original Quickbook markup, plus a
bit of manual fixup for multiple references to the single point from different
lines that AsciiDoc does not seem to handle.
|
|
Still need to replace [link ] with actual links.
Also a bunch of small fixes here and there.
|
|
|
|
Also remove redundant [lbr]
|
|
|
|
|
|
|
|
|
|
|
|
Quickstart should be reasonably complete; manual is still in progress
|
|
|
|
Disable/change some tests for some compilers; use binary float comparison
for early MSVC versions.
|
|
Rename PAGE_SIZE to page_size to avoid define conflict with Android SDK.
Minor fixes in several tests.
|
|
|
|
|
|
Simplify test source specification, disable built-in rules and suffixes
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Previously we omitted extra whitespace for single PCDATA/CDATA children, but in
mixed content there was extra indentation before/after text nodes.
One of the problems with that is that the text that you saved is not exactly
the same as the parsing result using default flags (parse_trim_pcdata helps).
Another problem is that parse-format cycles do not have a fixed point for mixed
content - the result expands indefinitely. Some XML libraries, like Python
minidom, have the same issue, but this is definitely a problem.
Pretty-printing mixed content is hard. It seems that the only other sensible
choice is to switch mixed content nodes to raw formatting. In a way the code in
this change is a weaker version of that - it removes indentation around text
nodes but still keeps it around element siblings/children.
Thus we can switch to mixed-raw formatting at some point later, which will be
a superset of the current behavior.
To do this we have to either switch at the first text node (.NET XmlDocument
does that), or scan the children of each element for a possible text node and
switch before we output the first child.
The former behavior seems non-intuitive (and a bit broken); unfortunately, the
latter behavior can cost up to 20% of the output time for trees *without* mixed
content.
Fixes #13.
|
|
data/truncation.xml was corrupted at some point and was not actually valid.
Fix the file and make the test fail if we can't parse truncation.xml at all.
|
|
|
|
With the current setup it successfully finds the (fixed) DOCTYPE buffer overrun
in ~50 minutes (on a single core).
|
|
|
|
Since in compact mode we only ever have a guaranteed alignment on 4, the pages
are limited to 256k even if pointers are 64 bit.
|
|
|
|
This prevents malformed PI value from breaking the document structure.
|
|
Since all string allocations are pointer-aligned to avoid aligning more
frequent node allocations, we can rely on that in string encoding.
Encoding page offset and block size in sizeof(void*) units increases the
maximum memory page size from 64k to 256k on 32-bit and 512k on 64-bit
platforms.
Fixes #35.
|
|
Remove size=0 test since a better test is already there.
|
|
Also change the error code to status_io_error
|
|
Merge branch 'mloy-master'
|
|
|
|
Also add new tests for translate. These are technically redundant since other
tests would catch the bug with the fixed comparison, but more tests is better.
|
|
The implementations generated a string with an internal null terminator; this
went unnoticed since unit test string verification did not perform string
equality check properly (it compared XPath string result as a C-string, thus
stopping at the first null terminator).
Fixes #36.
|
|
Align allocations to right end of page boundary to catch buffer overruns,
instead of unmapping on deallocations mark the page as no-access to guarantee
a page fault on use-after-free.
|
|
Instead just ignore the result of xargs.
|
|
|
|
This prevents malformed input XML with very deeply recursive DOCTYPE sections
from crashing the parser.
Fixes #29.
|