summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-02-11docs: Add parse_fragment to documentation and changelogArseny Kapoulkine
git-svn-id: https://pugixml.googlecode.com/svn/trunk@981 99668b35-9821-0410-8761-19e4c4f06640
2014-02-11Implement document fragment parsing.Arseny Kapoulkine
Introduce a notable behavior change in default parsing mode: documents without a document element node are now considered invalid. This is technically a breaking change, however the amount of documents it affects is very small, all parsed data still persists, and lack of this check results in very confusing behavior in a number of cases. In order to be able to parse documents without an element node, a fragment parsing flag is introduced. Parsing a buffer in fragment mode treats the buffer as a fragment of a valid XML. As a consequence, top-level PCDATA is added to the tree; additionally, there are no restrictions on the number of nodes -- so documents without a document element are considered valid. Due to the way parsing works internally, load_buffer_inplace occasionally can not preserve the document contents if it's parsed in a fragment mode. While unfortunate, this problem is fundamental; since the use case is relatively obscure, hopefully documenting this shortcoming will be enough. git-svn-id: https://pugixml.googlecode.com/svn/trunk@980 99668b35-9821-0410-8761-19e4c4f06640
2014-02-11Fix bogus Clang 3.4 warningArseny Kapoulkine
git-svn-id: https://pugixml.googlecode.com/svn/trunk@979 99668b35-9821-0410-8761-19e4c4f06640
2014-02-10Fix clang build.Arseny Kapoulkine
git-svn-id: https://pugixml.googlecode.com/svn/trunk@978 99668b35-9821-0410-8761-19e4c4f06640
2014-02-10Use a null-terminated buffer for parsing as often as possible.Arseny Kapoulkine
Parsing used to work on a non null-terminated buffer, inserting a fake null terminator to increase performance. This makes it impossible to implement fragment parsing that preserves PCDATA contents (as witnessed by some tests for boundary conditions that actually depended on this behavior). Since almost all uses result in us allocating an internal buffer anyway, the new policy is to make sure all buffers that are allocated by pugixml are null-terminated - the only exception now is external calls to load_buffer_inplace that don't trigger encoding conversion. git-svn-id: https://pugixml.googlecode.com/svn/trunk@977 99668b35-9821-0410-8761-19e4c4f06640
2014-02-10Replace memory-management functions before every test.Arseny Kapoulkine
In case a test sets memory-management functions to perform custom testing and fails midway, all subsequent tests that rely on custom memory handling (i.e. threshold) can fail unexpectedly. Setting up the functions before every test fixes this, making all tests self-contained. git-svn-id: https://pugixml.googlecode.com/svn/trunk@976 99668b35-9821-0410-8761-19e4c4f06640
2014-02-10Rename parse to parse_tree and convert_buffer to convert_buffer_output to ↵Arseny Kapoulkine
reduce overloading. git-svn-id: https://pugixml.googlecode.com/svn/trunk@975 99668b35-9821-0410-8761-19e4c4f06640
2014-02-10Update compatibility section of the manualArseny Kapoulkine
git-svn-id: https://pugixml.googlecode.com/svn/trunk@974 99668b35-9821-0410-8761-19e4c4f06640
2014-02-10Update PUGIXML_VERSION defineArseny Kapoulkine
git-svn-id: https://pugixml.googlecode.com/svn/trunk@973 99668b35-9821-0410-8761-19e4c4f06640
2014-02-09Fix .travis.yml scriptArseny Kapoulkine
git-svn-id: http://pugixml.googlecode.com/svn/trunk@972 99668b35-9821-0410-8761-19e4c4f06640
2014-02-09Add Makefile for building and running tests.Arseny Kapoulkine
This expands and replaces the Travis-specific makefile by adding more options and correctly tracking header dependencies. Also add wchar_t mode test to Travis configuration. git-svn-id: http://pugixml.googlecode.com/svn/trunk@971 99668b35-9821-0410-8761-19e4c4f06640
2014-02-09Add README.md for GitHubArseny Kapoulkine
git-svn-id: http://pugixml.googlecode.com/svn/trunk@970 99668b35-9821-0410-8761-19e4c4f06640
2014-02-09Add scripts for Travis CIArseny Kapoulkine
git-svn-id: http://pugixml.googlecode.com/svn/trunk@969 99668b35-9821-0410-8761-19e4c4f06640
2014-02-08Update version to 1.4 and copyright year to 2014.Arseny Kapoulkine
Add tentative changelog for 1.4 to the documentation. Since Google Code no longer allows file upload, replace download links with GitHub release links. git-svn-id: http://pugixml.googlecode.com/svn/trunk@968 99668b35-9821-0410-8761-19e4c4f06640
2014-02-08Enable long long support for C++11 and for MSVC 2008+Arseny Kapoulkine
git-svn-id: http://pugixml.googlecode.com/svn/trunk@967 99668b35-9821-0410-8761-19e4c4f06640
2014-02-08docs: Add long long functions and configuration documentationArseny Kapoulkine
git-svn-id: http://pugixml.googlecode.com/svn/trunk@966 99668b35-9821-0410-8761-19e4c4f06640
2014-02-08Add PUGIXML_HAS_LONG_LONG to pugiconfig.hppArseny Kapoulkine
git-svn-id: http://pugixml.googlecode.com/svn/trunk@965 99668b35-9821-0410-8761-19e4c4f06640
2014-02-08Simplify header-only mode usage: it's sufficient to define ↵Arseny Kapoulkine
PUGIXML_HEADER_ONLY anywhere now, source is automatically included git-svn-id: http://pugixml.googlecode.com/svn/trunk@964 99668b35-9821-0410-8761-19e4c4f06640
2014-02-08Fix test suite stringizing macros to be C++11-compliantArseny Kapoulkine
git-svn-id: http://pugixml.googlecode.com/svn/trunk@963 99668b35-9821-0410-8761-19e4c4f06640
2014-02-08Implement long long support if PUGIXML_HAS_LONG_LONG is defined ↵Arseny Kapoulkine
(autodetection is not implemented yet) git-svn-id: http://pugixml.googlecode.com/svn/trunk@962 99668b35-9821-0410-8761-19e4c4f06640
2014-01-27Ignore stream errors generated by a failing tellg() for non-seekable streamsArseny Kapoulkine
git-svn-id: http://pugixml.googlecode.com/svn/trunk@961 99668b35-9821-0410-8761-19e4c4f06640
2014-01-27Change xml_named_node_iterator to be bidirectional and to match ↵Arseny Kapoulkine
xml_node_iterator in terms of internals git-svn-id: http://pugixml.googlecode.com/svn/trunk@960 99668b35-9821-0410-8761-19e4c4f06640
2014-01-15Replace offsetof with sizeof since some compilers don't recognize offsetof ↵Arseny Kapoulkine
as a compile-time constant expression git-svn-id: http://pugixml.googlecode.com/svn/trunk@959 99668b35-9821-0410-8761-19e4c4f06640
2014-01-15Implement automatic hexadecimal decoding for xml_attribute::as_int and ↵Arseny Kapoulkine
xml_text::as_int. This is effectively a form of strtol with base 0, but without octal support. git-svn-id: http://pugixml.googlecode.com/svn/trunk@958 99668b35-9821-0410-8761-19e4c4f06640
2013-12-20Fix gcc-4.9 compilation warning when using -Wstrict-overflowarseny.kapoulkine@gmail.com
git-svn-id: http://pugixml.googlecode.com/svn/trunk@957 99668b35-9821-0410-8761-19e4c4f06640
2013-11-26Fix gcc-4.8 compilation warning when using -Wstrict-overflowarseny.kapoulkine@gmail.com
git-svn-id: http://pugixml.googlecode.com/svn/trunk@956 99668b35-9821-0410-8761-19e4c4f06640
2013-08-02Fix _root checking inconsistency in xml_document::destroyarseny.kapoulkine@gmail.com
git-svn-id: http://pugixml.googlecode.com/svn/trunk@955 99668b35-9821-0410-8761-19e4c4f06640
2013-07-27Clarify value() behavior in header comments; hopefully that'll help with ↵arseny.kapoulkine@gmail.com
value vs child_value confusion. git-svn-id: http://pugixml.googlecode.com/svn/trunk@954 99668b35-9821-0410-8761-19e4c4f06640
2013-07-20Make sure newlines are consistent for both .zip and .tar.gz archivesarseny.kapoulkine@gmail.com
git-svn-id: http://pugixml.googlecode.com/svn/trunk@953 99668b35-9821-0410-8761-19e4c4f06640
2013-07-10docs: Fix manual.xsl to work with newer xsltprocarseny.kapoulkine@gmail.com
git-svn-id: http://pugixml.googlecode.com/svn/trunk@950 99668b35-9821-0410-8761-19e4c4f06640
2013-07-10docs: XPath select_single_node sample checks return value for clarityarseny.kapoulkine@gmail.com
git-svn-id: http://pugixml.googlecode.com/svn/trunk@949 99668b35-9821-0410-8761-19e4c4f06640
2013-07-10docs: Minor grammar fixarseny.kapoulkine@gmail.com
git-svn-id: http://pugixml.googlecode.com/svn/trunk@948 99668b35-9821-0410-8761-19e4c4f06640
2013-07-10Fix documentation building on Linuxarseny.kapoulkine@gmail.com
git-svn-id: http://pugixml.googlecode.com/svn/trunk@947 99668b35-9821-0410-8761-19e4c4f06640
2013-03-20Fix invalid assertion in XPath: reallocation can result in allocating buffer ↵arseny.kapoulkine@gmail.com
of the same size due to pointer-sized alignment git-svn-id: http://pugixml.googlecode.com/svn/trunk@946 99668b35-9821-0410-8761-19e4c4f06640
2013-03-20docs: Fix format_no_escapes documentationarseny.kapoulkine@gmail.com
git-svn-id: http://pugixml.googlecode.com/svn/trunk@945 99668b35-9821-0410-8761-19e4c4f06640
2013-03-19Fix XPath return type for contains() and string-length()arseny.kapoulkine@gmail.com
git-svn-id: http://pugixml.googlecode.com/svn/trunk@944 99668b35-9821-0410-8761-19e4c4f06640
2012-12-08Work around clang static analysis false positives using extra assertions.arseny.kapoulkine@gmail.com
git-svn-id: http://pugixml.googlecode.com/svn/trunk@943 99668b35-9821-0410-8761-19e4c4f06640
2012-12-07Only include wchar.h in PUGIXML_WCHAR_MODE; use a custom implementation of ↵arseny.kapoulkine@gmail.com
wcslen in case there is no wide character support. git-svn-id: http://pugixml.googlecode.com/svn/trunk@942 99668b35-9821-0410-8761-19e4c4f06640
2012-12-07Fix uninitialized variable in case append_buffer fails with out of memory ↵arseny.kapoulkine@gmail.com
due to buffer copy allocation git-svn-id: http://pugixml.googlecode.com/svn/trunk@941 99668b35-9821-0410-8761-19e4c4f06640
2012-12-07tests: Fix msvc11_arm toolset setuparseny.kapoulkine@gmail.com
git-svn-id: http://pugixml.googlecode.com/svn/trunk@940 99668b35-9821-0410-8761-19e4c4f06640
2012-12-07Compatibility fixes (fixed warnings in gcc, msvc7, fixed errors in bcc, cw, ↵arseny.kapoulkine@gmail.com
msvc6) git-svn-id: http://pugixml.googlecode.com/svn/trunk@939 99668b35-9821-0410-8761-19e4c4f06640
2012-12-07docs: Added append_buffer documentationarseny.kapoulkine@gmail.com
git-svn-id: http://pugixml.googlecode.com/svn/trunk@938 99668b35-9821-0410-8761-19e4c4f06640
2012-12-07tests: Added append_buffer testsarseny.kapoulkine@gmail.com
git-svn-id: http://pugixml.googlecode.com/svn/trunk@937 99668b35-9821-0410-8761-19e4c4f06640
2012-12-07Implement xml_node::append_buffer as a faster alternative to assembling ↵arseny.kapoulkine@gmail.com
documents from fragments (compared to parse & clone) git-svn-id: http://pugixml.googlecode.com/svn/trunk@936 99668b35-9821-0410-8761-19e4c4f06640
2012-11-20archive.pl now creates a wrapping folder in both .tar.gz and .zip archivesarseny.kapoulkine@gmail.com
git-svn-id: http://pugixml.googlecode.com/svn/trunk@935 99668b35-9821-0410-8761-19e4c4f06640
2012-11-20scripts: Apply pugixml-soversion.patch: SOVERSION is now 1 instead of 1.2 ↵arseny.kapoulkine@gmail.com
(make install will deploy both libpugixml.so.1 and libpugixml.so.1.2) git-svn-id: http://pugixml.googlecode.com/svn/trunk@934 99668b35-9821-0410-8761-19e4c4f06640
2012-11-18XPath stack optimization: Reduce convert_number_to_string stack usage by ↵arseny.kapoulkine@gmail.com
reducing mantissa_buffer size and filling resulting string on heap without an extra copy from stack. git-svn-id: http://pugixml.googlecode.com/svn/trunk@933 99668b35-9821-0410-8761-19e4c4f06640
2012-11-18XPath: Fix BCC/DMC compilation (overloading workaround)arseny.kapoulkine@gmail.com
git-svn-id: http://pugixml.googlecode.com/svn/trunk@932 99668b35-9821-0410-8761-19e4c4f06640
2012-11-18XPath stack optimization: Rewrite part of the recursive descent parser to ↵arseny.kapoulkine@gmail.com
precedence climbing to reduce stack usage git-svn-id: http://pugixml.googlecode.com/svn/trunk@931 99668b35-9821-0410-8761-19e4c4f06640
2012-11-17XPath: Fix unit test that (incorrectly) relied on right-associativity of ↵arseny.kapoulkine@gmail.com
union operator to trigger out of memory condition git-svn-id: http://pugixml.googlecode.com/svn/trunk@930 99668b35-9821-0410-8761-19e4c4f06640