summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-04-12Permit custom allocation function to throwArseny Kapoulkine
Ensure that all the necessary cleanup is performed in case the allocation fails with an exception - files are closed, buffers are reclaimed, etc. Any test that triggers a simulated out-of-memory condition is ran once again with a throwing allocation function. Unobserved std::bad_alloc count as test failures and require CHECK_ALLOC_FAIL macro. Fixes #17.
2015-04-12tests: Add more out of memory testsArseny Kapoulkine
Also add tests that verify save_file for absence of FILE leaks.
2015-04-12Implment copyless copy for attributesArseny Kapoulkine
Previously attributes that were copied with their node used string sharing, but standalone attributes that were copied using xml_node::*_copy(xml_attribute) were not.
2015-04-12tests: Add a test that verifies absence of file leaksArseny Kapoulkine
If an out of memory error happens in load_file there's a danger of leaking the FILE object. Since there is a limited supply of the objects we can easily test that the leak does not happen.
2015-04-12tests: Fix some Coverity issuesArseny Kapoulkine
2015-04-12Optimize xml_node::path() to use 1 allocationArseny Kapoulkine
Instead of reallocating the string for every tree level just do two passes over the ancestor chain.
2015-04-12Move zero-termination out of as_utf8_endArseny Kapoulkine
as_utf8_end was used with std::string, where writing an extra zero-terminating character should *probably* always work (at least if size is positive) but is not ideal. The only place that needed to zero-terminate was convert_path_heap.
2015-04-11Fix Travis CI build.Arseny Kapoulkine
2015-04-11tests: Improve out-of-memory testsArseny Kapoulkine
Previously there was no guarantee that the tests that check for out of memory handling behavior are actually correct - e.g. that they correctly simulate out of memory conditions. Now every simulated out of memory condition has to be "guarded" using CHECK_ALLOC_FAIL. It makes sure that every piece of code that is supposed to cause out-of-memory does so, and that no other code runs out of memory unnoticed.
2015-04-11tests: Add a test for throwing from xml_writer::writeArseny Kapoulkine
We currently don't allocate/modify any state so there are no issues with this.
2015-04-11Use -fno-exceptions flag for PUGIXML_NO_EXCEPTIONS buildArseny Kapoulkine
This makes sure that no exception handling mechanisms are used if PUGXML_NO_EXCEPTIONS is defined.
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