summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-04-11Fix exception type for out-of-memory for XPath variablesArseny Kapoulkine
When parsing XPath variables, we need to perform a heap allocation; if it fails, an xpath_exception instead of bad_alloc used to be thrown. Now we throw the exception of a correct type so that xpath_exception means 'parsing error'.
2015-04-11tests: Use char_t instead of wchar_tArseny Kapoulkine
2015-04-11tests: Add more out of memory testsArseny Kapoulkine
This provides more coverage for #17.
2015-04-10Update README.mdArseny Kapoulkine
2015-04-10docs: Update release datev1.6Arseny Kapoulkine
2015-04-10Fix archive packagingArseny Kapoulkine
Base directory is now using target basename.
2015-03-24docs: Use automatically retrieved version for docsArseny Kapoulkine
This eliminates one more hardcoded version from the repo, yay!
2015-03-24Update Makefile to exclude docs/manual folder from releaseArseny Kapoulkine
2015-03-24docs: Add generated documentationArseny Kapoulkine
2015-03-24docs: Finishing touchesArseny Kapoulkine
It's almost done; the only remaining issue is that some section titles are too long.
2015-03-22Add include dependencies to HTML targetsArseny Kapoulkine
2015-03-22docs: Reword documentation noteArseny Kapoulkine
2015-03-22docs: Minor API reference improvementsArseny Kapoulkine
2015-03-22docs: Fix several internal linksArseny Kapoulkine
2015-03-22docs: HTML validity fixesArseny Kapoulkine
Also minor wording fixes.
2015-03-22docs: Converted some samples to Unix newlineArseny Kapoulkine
2015-03-22docs: Extract configuration to config.adocArseny Kapoulkine
2015-03-22docs: Remove old Quickbook sourcesArseny Kapoulkine
2015-03-22docs: Fix PUGIXML_HEADER_ONLY descriptionArseny Kapoulkine
Users no longer need to #include "pugixml.cpp"
2015-03-22docs: A lot of small fixesArseny Kapoulkine
Mostly added correct quotation to changelog.
2015-03-21docs: Set up cross-referencing and anchorsArseny Kapoulkine
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.
2015-03-21docs: API reference is closer to being doneArseny Kapoulkine
Still need to replace [link ] with actual links. Also a bunch of small fixes here and there.
2015-03-21docs: Fix nested lists and changelogArseny Kapoulkine
2015-03-21docs: Fix tables and images in the manualArseny Kapoulkine
Also remove redundant [lbr]
2015-03-21docs: Remove image thumbnailsArseny Kapoulkine
2015-03-21Add docs target to MakefileArseny Kapoulkine
2015-03-21docs: Remove auxiliary files for old documentationArseny Kapoulkine
2015-03-21docs: Remove old HTML documentationArseny Kapoulkine
2015-03-21docs: Use AsciiDoc-compatible comments in samplesArseny Kapoulkine
2015-03-21docs: Add AsciiDoc versions of quickstart and manualArseny Kapoulkine
Quickstart should be reasonably complete; manual is still in progress
2015-03-21tests: Final test fix for CWArseny Kapoulkine
2015-03-21tests: Work around fp issues in various runtime librariesArseny Kapoulkine
Disable/change some tests for some compilers; use binary float comparison for early MSVC versions.
2015-03-21tests: Fix test compilationArseny Kapoulkine
Rename PAGE_SIZE to page_size to avoid define conflict with Android SDK. Minor fixes in several tests.
2015-03-20Update year to 2015Arseny Kapoulkine
2015-03-20Add release target to MakefileArseny Kapoulkine
2015-03-20Makefile refactoringArseny Kapoulkine
Simplify test source specification, disable built-in rules and suffixes
2015-03-20Fix Jamfile (exclude fuzz_*.cpp)Arseny Kapoulkine
2015-03-20docs: Regenerate documentationArseny Kapoulkine
2015-03-19docs: Fix quickstart download linksArseny Kapoulkine
2015-03-18tests: Fix tests in wchar modeArseny Kapoulkine
2015-03-18docs: Add changelog for 1.6Arseny Kapoulkine
2015-03-18Update version to 1.6Arseny Kapoulkine
2015-03-18Do not emit surrounding whitespace for text nodesArseny Kapoulkine
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.
2015-03-13tests: Fix truncation testArseny Kapoulkine
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.
2015-03-13tests: Add support for afl-fuzzArseny Kapoulkine
With the current setup it successfully finds the (fixed) DOCTYPE buffer overrun in ~50 minutes (on a single core).
2015-03-12Fix buffer overrun when parsing comments inside DOCTYPEArseny Kapoulkine
2015-03-10Escape ?> sequence in PI value during printingArseny Kapoulkine
This prevents malformed PI value from breaking the document structure.
2015-03-05Use more efficient encoding for string headersArseny Kapoulkine
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.
2015-03-05tests: Move null buffer tests to test_documentArseny Kapoulkine
Remove size=0 test since a better test is already there.
2015-03-05Refactor contents=0 behaviorArseny Kapoulkine
Also change the error code to status_io_error