summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-04-15tests: Fix Linux buildArseny Kapoulkine
2015-04-15tests: Use malloc for OSX/Linux page heapArseny Kapoulkine
Switch to malloc and manually aligning the pointer to the page boundary. mmap is much slower than malloc; this change makes tests ~4x faster.
2015-04-15Minor xpath_variable refactoringArseny Kapoulkine
The type of the variable is now initialized correctly in the ctor, so that there is no interim invalid state.
2015-04-14Fix xpath_node_set assignment to provide strong exception guaranteeArseny Kapoulkine
Since the type of the set was updated before assignment, assigning in out-of-memory condition could change the type to not match the content.
2015-04-14Explicitly call xml_buffered_writer::flush()Arseny Kapoulkine
If xml_writer::write throws an exception while being called from flush(), the exception is thrown from destructor. Clang in C++11 mode calls std::terminate in this case.
2015-04-13docs: Add format_indent_attributes documentationArseny Kapoulkine
Slightly reword format_indent description.
2015-04-13Refactor format_indent_attributes implementationArseny Kapoulkine
Fix code style and revert redundant parameters/whitespace changes. Also remove format_each_attribute_on_new_line - we're only introducing one extra formatting flag. The flag implies format_indent but does not include its bitmask. Also add a few more tests. Fixes #14.
2015-04-13Merge branch 'AlignAttributesEachOnSeparateLine' of ↵Arseny Kapoulkine
git://github.com/halex2005/pugixml into indent_attributes
2015-04-13Add branch name to AppVeyor versionArseny Kapoulkine
2015-04-13Remove all files for the Jamplus-based build systemArseny Kapoulkine
End of an era. Make can be used for regular development (Linux/OSX), documentation building and release packaging. CMake can be used for regular development (Windows); it's also used by some Linux distributions. Continuous integration is now performed by Travis CI and AppVeyor.
2015-04-13Fix AppVeyor script pathArseny Kapoulkine
2015-04-13Add AppVeyor build scriptsArseny Kapoulkine
2015-04-13scripts: Add an option for building tests with CMakeArseny Kapoulkine
2015-04-14add tests for aligning each attribute on next linehalex2005
2015-04-14add align each attribute on new line support with format_indent_attributehalex2005
2015-04-12Fix unused variable warningArseny Kapoulkine
Also fix test in wchar_t mode.
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