Commit Graph

421 Commits

Author SHA1 Message Date
arseny.kapoulkine@gmail.com
40ed110136 Explicitly ignore fwrite result - nothing else can be done with the current writer interface, unfortunately
git-svn-id: http://pugixml.googlecode.com/svn/trunk@866 99668b35-9821-0410-8761-19e4c4f06640
2012-03-20 05:47:55 +00:00
arseny.kapoulkine@gmail.com
07cda98d66 Fixed Borland C++ issues when compiling pugixml as header-only
git-svn-id: http://pugixml.googlecode.com/svn/trunk@864 99668b35-9821-0410-8761-19e4c4f06640
2012-03-20 04:00:10 +00:00
arseny.kapoulkine@gmail.com
800288d351 Intel C++ 11 has the same warning pop bug... Disable warning popping on all Intel C++ versions. Fixes Intel C++ 11 compilation in PUGIXML_NO_STL mode.
git-svn-id: http://pugixml.googlecode.com/svn/trunk@862 99668b35-9821-0410-8761-19e4c4f06640
2012-03-15 07:08:32 +00:00
arseny.kapoulkine@gmail.com
a58131c9dc Added PUGIXML_MEMORY constants for tweaking memory behaviour; useful for embedded systems or for unusual cases (i.e. thousands of small documents in memory)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@860 99668b35-9821-0410-8761-19e4c4f06640
2012-03-14 06:04:50 +00:00
arseny.kapoulkine@gmail.com
e4ae729370 Dereferemce operators in both iterators are now const; this fixes iterator compatibility with parts of Boost Iterator (i.e. filter_iterator). It is now possible to damage the state of const_iterator by directly mutating internal handle - working around that introduces additional performance penalties and is generally extremely unlikely to be useful - constant iterator objects are rarely used.
git-svn-id: http://pugixml.googlecode.com/svn/trunk@858 99668b35-9821-0410-8761-19e4c4f06640
2012-03-14 05:34:00 +00:00
arseny.kapoulkine@gmail.com
23f891a92b Different versions of RWSTL have different headers; revert the previous change and instead introduce PUGIXML_NO_STL_FWDDECL macro (that disables forward declaration of STL classes, which is not compliant).
git-svn-id: http://pugixml.googlecode.com/svn/trunk@857 99668b35-9821-0410-8761-19e4c4f06640
2012-03-14 04:21:26 +00:00
arseny.kapoulkine@gmail.com
cf779955d9 Fixed SunCC compilation when using RWSTL instead of STLport; should fix issue 101.
git-svn-id: http://pugixml.googlecode.com/svn/trunk@856 99668b35-9821-0410-8761-19e4c4f06640
2012-03-14 03:40:06 +00:00
arseny.kapoulkine@gmail.com
2f6baa1005 Implemented optional header-only mode (still need to do a couple of fixes for rare compilers, but it seems to work on the majority of configurations). Tests work in header-only mode, but testing is not enabled yet (still a bit more work to be done, and compiling header-only tests is up to 4 times slower, so we can't test more than one-two configurations per toolset)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@855 99668b35-9821-0410-8761-19e4c4f06640
2012-03-14 03:08:01 +00:00
arseny.kapoulkine@gmail.com
7df35dabd5 Fixed clang warning
git-svn-id: http://pugixml.googlecode.com/svn/trunk@854 99668b35-9821-0410-8761-19e4c4f06640
2012-03-10 09:29:47 +00:00
arseny.kapoulkine@gmail.com
eca76db49d Fixed clang compilation warning
git-svn-id: http://pugixml.googlecode.com/svn/trunk@849 99668b35-9821-0410-8761-19e4c4f06640
2012-03-06 09:43:00 +00:00
arseny.kapoulkine@gmail.com
eea13e4d72 Fix 'cast increases required alignment of target type' warning for BlackBerry NDK in PUGIXML_WCHAR_MODE (wchar_t is 4 bytes)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@842 99668b35-9821-0410-8761-19e4c4f06640
2012-03-06 07:02:40 +00:00
arseny.kapoulkine@gmail.com
6e02258ef6 Fix 'cast increases required alignment of target type' warnings (some of them are fixed by handling different wchar_t sizes through overloading, others - by casting to void* since we know the alignment restrictions are not violated)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@838 99668b35-9821-0410-8761-19e4c4f06640
2012-03-06 06:12:39 +00:00
arseny.kapoulkine@gmail.com
cbf42c3c93 Removed setjmp from XML parsing; now pugixml does not require setjmp support (unless XPath is compiled in with PUGIXML_NO_EXCEPTIONS). Should improve compatibility with certain platforms (also makes pugixml clr:pure-compatible)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@837 99668b35-9821-0410-8761-19e4c4f06640
2012-03-06 04:23:21 +00:00
arseny.kapoulkine@gmail.com
be7bdafa45 Define uintptr_t for WinCE if necessary (thankfully all MSVC versions seem to define _UINTPTR_T_DEFINED appropriately)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@833 99668b35-9821-0410-8761-19e4c4f06640
2012-02-19 05:47:54 +00:00
arseny.kapoulkine
a0769dfe38 Introduced encoding_latin1 support (conversion on loading, conversion on saving, encoding name in declaration in document::save)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@829 99668b35-9821-0410-8761-19e4c4f06640
2011-12-20 09:45:10 +00:00
arseny.kapoulkine
5a312a8ea8 Apply patch that should fix Windows Mobile compilation
git-svn-id: http://pugixml.googlecode.com/svn/trunk@828 99668b35-9821-0410-8761-19e4c4f06640
2011-12-09 07:22:46 +00:00
arseny.kapoulkine
aef822c27e Added PUGIXML_VERSION define to enable preprocessor-based version checks in case compatibility workarounds are needed
git-svn-id: http://pugixml.googlecode.com/svn/trunk@827 99668b35-9821-0410-8761-19e4c4f06640
2011-12-09 06:48:46 +00:00
arseny.kapoulkine
1b87d3dcbf Introduced parse_ws_pcdata_single flag: only parses whitespace-only PCDATA if it's the only child of the parent node (middle ground between default flags and parse_ws_pcdata)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@825 99668b35-9821-0410-8761-19e4c4f06640
2011-12-09 05:24:07 +00:00
arseny.kapoulkine
696a0ea588 Fixed 'conversion from pointer to same-sized integral type' warning for Intel C++ compiler in case anyone compiles with -Wp64
git-svn-id: http://pugixml.googlecode.com/svn/trunk@822 99668b35-9821-0410-8761-19e4c4f06640
2011-10-08 04:14:12 +00:00
arseny.kapoulkine
cf85e59f12 Fixed 'controlling expression is constant' warning for new versions of Intel C++ compiler
git-svn-id: http://pugixml.googlecode.com/svn/trunk@821 99668b35-9821-0410-8761-19e4c4f06640
2011-10-08 03:19:12 +00:00
arseny.kapoulkine
7757503d72 Added format_no_escapes flag
git-svn-id: http://pugixml.googlecode.com/svn/trunk@819 99668b35-9821-0410-8761-19e4c4f06640
2011-09-10 03:05:29 +00:00
arseny.kapoulkine
8a5144a927 Fixed unspecified bool conversion for MSVC CLR for the case when pugixml is compiled as unmanaged and calling code is compiled as managed. Fixes issue 121.
git-svn-id: http://pugixml.googlecode.com/svn/trunk@817 99668b35-9821-0410-8761-19e4c4f06640
2011-08-19 04:25:13 +00:00
arseny.kapoulkine
414ad96d7a Fixed compilation for gcc 4.2.1 (apparently not all gcc versions properly implement strict aliasing warning...)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@813 99668b35-9821-0410-8761-19e4c4f06640
2011-07-24 03:19:31 +00:00
arseny.kapoulkine
f3c29ef3d8 Implemented support for non-seekable streams
git-svn-id: http://pugixml.googlecode.com/svn/trunk@809 99668b35-9821-0410-8761-19e4c4f06640
2011-07-19 15:20:20 +00:00
arseny.kapoulkine
c21c682c4e Fixed C++/CLI compilation error
git-svn-id: http://pugixml.googlecode.com/svn/trunk@806 99668b35-9821-0410-8761-19e4c4f06640
2011-02-16 20:00:36 +00:00
arseny.kapoulkine
81e4707fca Replaced std::wstring with std::basic_string<wchar_t> (fixes Android compilation)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@803 99668b35-9821-0410-8761-19e4c4f06640
2011-01-15 10:56:18 +00:00
arseny.kapoulkine
d99745be21 Enabled many additional GCC warnings (most notably -Wshadow and -Wold-style-cast), fixed the code accordingly
git-svn-id: http://pugixml.googlecode.com/svn/trunk@800 99668b35-9821-0410-8761-19e4c4f06640
2010-12-19 10:16:37 +00:00
arseny.kapoulkine
8f1a304dbf Fixed pugiconfig XPath-related comments
git-svn-id: http://pugixml.googlecode.com/svn/trunk@798 99668b35-9821-0410-8761-19e4c4f06640
2010-11-13 19:02:16 +00:00
arseny.kapoulkine
9eae52a7cd Improved STLport support (now code compiles fine if STLport is in its own namespace and does #define std), fixed AirPlay SDK compilation
git-svn-id: http://pugixml.googlecode.com/svn/trunk@796 99668b35-9821-0410-8761-19e4c4f06640
2010-11-12 19:28:51 +00:00
arseny.kapoulkine
07043107c7 Updated version to 1.0 everywhere
git-svn-id: http://pugixml.googlecode.com/svn/trunk@789 99668b35-9821-0410-8761-19e4c4f06640
2010-10-31 07:44:14 +00:00
arseny.kapoulkine
4920e4fec9 Added xml_document::reset() function with document parameter
git-svn-id: http://pugixml.googlecode.com/svn/trunk@786 99668b35-9821-0410-8761-19e4c4f06640
2010-10-31 07:33:01 +00:00
arseny.kapoulkine
09b5dfdcb0 Added xml_document::reset, added append/prepend/insert child overloads for elements (with explicit name)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@779 99668b35-9821-0410-8761-19e4c4f06640
2010-10-26 17:09:34 +00:00
arseny.kapoulkine
948cb037ae Added a workaround for GCC 4.2 bogus warning
git-svn-id: http://pugixml.googlecode.com/svn/trunk@778 99668b35-9821-0410-8761-19e4c4f06640
2010-10-22 20:05:54 +00:00
arseny.kapoulkine
f7e6723b63 XPath: Moved STL replacement algorithms to anonymous namespace
git-svn-id: http://pugixml.googlecode.com/svn/trunk@777 99668b35-9821-0410-8761-19e4c4f06640
2010-10-22 19:16:13 +00:00
arseny.kapoulkine
0e73657345 XPath: Minor refactoring
git-svn-id: http://pugixml.googlecode.com/svn/trunk@776 99668b35-9821-0410-8761-19e4c4f06640
2010-10-22 19:08:46 +00:00
arseny.kapoulkine
59c88d7236 XPath: Moved implementation details to anonymous namespace
git-svn-id: http://pugixml.googlecode.com/svn/trunk@775 99668b35-9821-0410-8761-19e4c4f06640
2010-10-22 19:02:47 +00:00
arseny.kapoulkine
a18385e1e0 If an element node has the only child, and it is of CDATA type, then the extra indentation is omitted (previously this behavior only held for PCDATA children)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@770 99668b35-9821-0410-8761-19e4c4f06640
2010-10-19 15:38:10 +00:00
arseny.kapoulkine@gmail.com
b979d4c2bd Added prepend_attribute, prepend_child and prepend_copy functions
git-svn-id: http://pugixml.googlecode.com/svn/trunk@769 99668b35-9821-0410-8761-19e4c4f06640
2010-10-19 14:29:02 +00:00
arseny.kapoulkine
d8c19b201f Added xml_document::document_element function
git-svn-id: http://pugixml.googlecode.com/svn/trunk@768 99668b35-9821-0410-8761-19e4c4f06640
2010-10-18 18:27:13 +00:00
arseny.kapoulkine
498947c718 Fixed internal_object() const-correctness, added xml_node::hash_value and xml_attribute::hash_value functions
git-svn-id: http://pugixml.googlecode.com/svn/trunk@767 99668b35-9821-0410-8761-19e4c4f06640
2010-10-18 16:59:31 +00:00
arseny.kapoulkine
b1bc4e4ed5 Updated site URL everywhere
git-svn-id: http://pugixml.googlecode.com/svn/trunk@766 99668b35-9821-0410-8761-19e4c4f06640
2010-10-14 17:35:19 +00:00
arseny.kapoulkine
a32b4392bb XPath: evaluate_string now guarantees zero-terminated result (unless the buffer size is zero)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@762 99668b35-9821-0410-8761-19e4c4f06640
2010-10-03 18:14:12 +00:00
arseny.kapoulkine
a6c756b8bc XPath: If exceptions are enabled, std::bad_alloc is thrown for all out of memory situation (instead of xpath_exception)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@759 99668b35-9821-0410-8761-19e4c4f06640
2010-10-03 14:27:52 +00:00
arseny.kapoulkine
605ab1b145 Added DOCTYPE node and parse_doctype flag (the node contains DOCTYPE value so that the document contents can be preserved)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@756 99668b35-9821-0410-8761-19e4c4f06640
2010-09-26 19:00:48 +00:00
arseny.kapoulkine
901f3b1f29 Fixed MinGW45 in C++0x mode
git-svn-id: http://pugixml.googlecode.com/svn/trunk@755 99668b35-9821-0410-8761-19e4c4f06640
2010-09-25 18:14:03 +00:00
arseny.kapoulkine
a590a69bda Minor UTF8 conversion refactoring, added as_utf8 and as_wide overloads with string arguments
git-svn-id: http://pugixml.googlecode.com/svn/trunk@749 99668b35-9821-0410-8761-19e4c4f06640
2010-09-22 19:05:31 +00:00
arseny.kapoulkine
452f9028b1 Removed document_order() function, added internal_object() accessor and exposed xml_node/xml_attribute constructor from internal object pointer (this makes implementing fast binding to scripting languages easier)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@747 99668b35-9821-0410-8761-19e4c4f06640
2010-09-22 18:28:54 +00:00
arseny.kapoulkine
70d88da727 Major header cleanup: removed redundant comments (single-line function/type descriptions are left for convenience), removed parse()/as_utf16(), removed deprecated function tests
git-svn-id: http://pugixml.googlecode.com/svn/trunk@746 99668b35-9821-0410-8761-19e4c4f06640
2010-09-21 19:30:03 +00:00
arseny.kapoulkine
41d1d91bc5 Minor load_file_impl refactoring
git-svn-id: http://pugixml.googlecode.com/svn/trunk@745 99668b35-9821-0410-8761-19e4c4f06640
2010-09-21 17:30:28 +00:00
arseny.kapoulkine
772d49eb4a Added large file support for MinGW
git-svn-id: http://pugixml.googlecode.com/svn/trunk@744 99668b35-9821-0410-8761-19e4c4f06640
2010-09-20 21:38:29 +00:00
arseny.kapoulkine
21b129a7e4 Improved large file support: added overflow checks, _ftelli64/_fseeki64 are used on MSVC
git-svn-id: http://pugixml.googlecode.com/svn/trunk@743 99668b35-9821-0410-8761-19e4c4f06640
2010-09-20 21:26:21 +00:00
arseny.kapoulkine
3fc3e60db4 Implemented load_file and save_file for wide character paths
git-svn-id: http://pugixml.googlecode.com/svn/trunk@741 99668b35-9821-0410-8761-19e4c4f06640
2010-09-20 20:14:16 +00:00
arseny.kapoulkine
612fa49d1d XPath: xpath_parse_result is now default-initialized to object with failed status
git-svn-id: http://pugixml.googlecode.com/svn/trunk@738 99668b35-9821-0410-8761-19e4c4f06640
2010-09-20 19:06:45 +00:00
arseny.kapoulkine
6dc6f8bdc7 xml_parse_result now has a default ctor, minor parsing optimization
git-svn-id: http://pugixml.googlecode.com/svn/trunk@736 99668b35-9821-0410-8761-19e4c4f06640
2010-09-20 18:14:02 +00:00
arseny.kapoulkine
7c837e78d5 Memory allocation error now preserves last parsed offset, minor optimization (removed by-reference parameters where possible)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@735 99668b35-9821-0410-8761-19e4c4f06640
2010-09-20 17:32:35 +00:00
arseny.kapoulkine
973b905f39 Added more assertions
git-svn-id: http://pugixml.googlecode.com/svn/trunk@734 99668b35-9821-0410-8761-19e4c4f06640
2010-09-15 05:36:32 +00:00
arseny.kapoulkine
1a764a3ee2 XPath: evaluate_string refactoring (also fixes setjmp warning on MinGW without breaking DMC/SunCC)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@733 99668b35-9821-0410-8761-19e4c4f06640
2010-09-14 16:44:13 +00:00
arseny.kapoulkine
39ee42f907 XPath: Fixed MinGW compilation warning
git-svn-id: http://pugixml.googlecode.com/svn/trunk@732 99668b35-9821-0410-8761-19e4c4f06640
2010-09-14 07:12:57 +00:00
arseny.kapoulkine
9f1ae76452 XPath: Fixed MSVC6 compilation
git-svn-id: http://pugixml.googlecode.com/svn/trunk@729 99668b35-9821-0410-8761-19e4c4f06640
2010-09-14 05:30:23 +00:00
arseny.kapoulkine
7b1560f4b2 XPath: Added out of memory handling during evaluation
git-svn-id: http://pugixml.googlecode.com/svn/trunk@727 99668b35-9821-0410-8761-19e4c4f06640
2010-09-14 05:28:55 +00:00
arseny.kapoulkine
628197f8c8 XPath: Minor speed/memory improvements
git-svn-id: http://pugixml.googlecode.com/svn/trunk@726 99668b35-9821-0410-8761-19e4c4f06640
2010-09-13 20:34:53 +00:00
arseny.kapoulkine
0f7684b567 XPath: Stack construction refactoring
git-svn-id: http://pugixml.googlecode.com/svn/trunk@725 99668b35-9821-0410-8761-19e4c4f06640
2010-09-13 20:02:04 +00:00
arseny.kapoulkine
0b60037afc XPath: Fixed MSVC7 compilation, removed redundant include
git-svn-id: http://pugixml.googlecode.com/svn/trunk@724 99668b35-9821-0410-8761-19e4c4f06640
2010-09-13 19:01:11 +00:00
arseny.kapoulkine
000b421873 XPath: Added xpath_node_set constructor, redesigned evaluation memory management (alternating stacks instead of heap)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@722 99668b35-9821-0410-8761-19e4c4f06640
2010-09-13 18:37:51 +00:00
arseny.kapoulkine
e25b73936e XPath: Fixed sorting bug
git-svn-id: http://pugixml.googlecode.com/svn/trunk@720 99668b35-9821-0410-8761-19e4c4f06640
2010-09-13 18:13:33 +00:00
arseny.kapoulkine
9f68dec787 XPath: Allocator refactoring: xpath_allocator now only consists of allocator state and can be copied
git-svn-id: http://pugixml.googlecode.com/svn/trunk@719 99668b35-9821-0410-8761-19e4c4f06640
2010-09-13 07:53:53 +00:00
arseny.kapoulkine
1332949522 XPath: self axis now preserves the original set order, optimized remove_duplicates calls
git-svn-id: http://pugixml.googlecode.com/svn/trunk@718 99668b35-9821-0410-8761-19e4c4f06640
2010-09-13 05:07:04 +00:00
arseny.kapoulkine
030e9da0d4 XPath: Minor ast_step processing refactoring
git-svn-id: http://pugixml.googlecode.com/svn/trunk@717 99668b35-9821-0410-8761-19e4c4f06640
2010-09-12 20:50:17 +00:00
arseny.kapoulkine
cae6c066b7 XPath: Minor lang() fix (use ASCII lowercase because language names are ASCII-only anyway)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@716 99668b35-9821-0410-8761-19e4c4f06640
2010-09-11 13:30:49 +00:00
arseny.kapoulkine
b67f104498 XPath: Minor refactoring
git-svn-id: http://pugixml.googlecode.com/svn/trunk@715 99668b35-9821-0410-8761-19e4c4f06640
2010-09-01 17:08:48 +00:00
arseny.kapoulkine
42517f26a9 XPath: Don't use longjmp at all if exceptions are enabled; this solves all problems with GCC SJLJ exceptions
git-svn-id: http://pugixml.googlecode.com/svn/trunk@714 99668b35-9821-0410-8761-19e4c4f06640
2010-09-01 17:01:55 +00:00
arseny.kapoulkine
bfbf61ba93 Added gcc 4.0.1 bogus warning workaround
git-svn-id: http://pugixml.googlecode.com/svn/trunk@710 99668b35-9821-0410-8761-19e4c4f06640
2010-08-30 05:17:21 +00:00
arseny.kapoulkine
fb0f5d8c94 XPath: Added a workaround for MSVC6 wcsstr bug
git-svn-id: http://pugixml.googlecode.com/svn/trunk@708 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 20:58:11 +00:00
arseny.kapoulkine
9266af0664 Fixed longjmp clobber warning in xml_parser::parse
git-svn-id: http://pugixml.googlecode.com/svn/trunk@706 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 19:29:35 +00:00
arseny.kapoulkine
61a94d6223 XPath: Fixed variable memory leaks for MSVC6
git-svn-id: http://pugixml.googlecode.com/svn/trunk@704 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 16:58:57 +00:00
arseny.kapoulkine
343653c916 Fixed BCC and MSVC6 compilation errors and warnings
git-svn-id: http://pugixml.googlecode.com/svn/trunk@703 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 16:28:38 +00:00
arseny.kapoulkine
589947da0b XPath: Minor xpath_string refactoring, minor xpath_string::append fix
git-svn-id: http://pugixml.googlecode.com/svn/trunk@701 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:54:18 +00:00
arseny.kapoulkine
88b4fbcff7 XPath: Fixed substring (3) implementation, optimized substring-after and substring for constant strings
git-svn-id: http://pugixml.googlecode.com/svn/trunk@699 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:53:05 +00:00
arseny.kapoulkine
b81027b00d XPath: Optimized concat (it's now O(n) instead of O(n^2) and there are less allocations)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@698 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:52:36 +00:00
arseny.kapoulkine
b33ac7477c XPath: Introduced optimized sort (quicksort with median of nine and recursion for smaller half, insertion sort for small chunks)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@697 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:52:06 +00:00
arseny.kapoulkine
b1939bd6f8 XPath: Document order comparator refactoring, document order is now a total order even for nodes from different documents
git-svn-id: http://pugixml.googlecode.com/svn/trunk@695 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:51:03 +00:00
arseny.kapoulkine
70115fa9ab Fixed missing attributes for some functions/classes, minor XPath error message changes
git-svn-id: http://pugixml.googlecode.com/svn/trunk@694 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:50:28 +00:00
arseny.kapoulkine
012b712389 XPath: xpath_node attribute constructor now never constructs a non-attribute node
git-svn-id: http://pugixml.googlecode.com/svn/trunk@690 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:47:36 +00:00
arseny.kapoulkine
b75c5360f3 Minor refactoring
git-svn-id: http://pugixml.googlecode.com/svn/trunk@689 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:47:01 +00:00
arseny.kapoulkine
c1bc7a30c3 Removed more deprecated functionality (xpath_type_t type, format_write_bom_utf8 flag, precompute_document_order method)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@686 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:44:41 +00:00
arseny.kapoulkine
f3795e55dd Minor unspecified bool refactoring (removed redundant CW workaround)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@685 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:44:01 +00:00
arseny.kapoulkine
e7b0e52068 XPath: Fixed default variable values, minor algorithm refactoring
git-svn-id: http://pugixml.googlecode.com/svn/trunk@684 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:43:28 +00:00
arseny.kapoulkine
59e034149f XPath: Reworked variable reference parsing, '$ name' and '$foo:*' are now correctly rejected
git-svn-id: http://pugixml.googlecode.com/svn/trunk@682 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:40:38 +00:00
arseny.kapoulkine
23d84cdf7c XPath: Implemented variable support in queries
git-svn-id: http://pugixml.googlecode.com/svn/trunk@680 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:38:43 +00:00
arseny.kapoulkine
c66ffdf720 XPath: Several variable fixes
git-svn-id: http://pugixml.googlecode.com/svn/trunk@678 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:37:03 +00:00
arseny.kapoulkine
1230502989 XPath: Minor refactoring
git-svn-id: http://pugixml.googlecode.com/svn/trunk@677 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:35:47 +00:00
arseny.kapoulkine
7b4141582d XPath: Added variable interface and implementation
git-svn-id: http://pugixml.googlecode.com/svn/trunk@676 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:35:22 +00:00
arseny.kapoulkine
1a59bf3992 XPath: Removed redundant internal function
git-svn-id: http://pugixml.googlecode.com/svn/trunk@674 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:33:40 +00:00
arseny.kapoulkine
86f9ea3c2c Refactoring: Merged two chartype tables
git-svn-id: http://pugixml.googlecode.com/svn/trunk@672 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:32:52 +00:00
arseny.kapoulkine
0e6d53c9e5 Refactoring: merged includes/warnings sections, moved string utilities to anonymous namespace, shared chartype implementation
git-svn-id: http://pugixml.googlecode.com/svn/trunk@671 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:32:24 +00:00
arseny.kapoulkine
9b337a176f XPath: Moved implementation to pugixml.cpp
git-svn-id: http://pugixml.googlecode.com/svn/trunk@670 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:31:55 +00:00
arseny.kapoulkine
fd6b419b2a Removed deprecated wildcard functions, removed deprecated all_elements_by_name
git-svn-id: http://pugixml.googlecode.com/svn/trunk@669 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:31:03 +00:00
arseny.kapoulkine
f711006e80 XPath: xpath_node_set now uses custom allocation functions, minor refactoring
git-svn-id: http://pugixml.googlecode.com/svn/trunk@667 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:29:45 +00:00
arseny.kapoulkine
f2509e0395 XPath: memory_block is now POD (no more offsetof warnings)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@666 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:28:59 +00:00
arseny.kapoulkine
7554e20688 XPath: Context node for evaluate is now an xpath_node (can use attribute contexts)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@663 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:27:29 +00:00
arseny.kapoulkine
91777e5c17 XPath: Fixed evaluate_string for wchar mode
git-svn-id: http://pugixml.googlecode.com/svn/trunk@660 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:24:00 +00:00
arseny.kapoulkine
053a4c0ea7 XPath: Introduced new evaluate_string API (without STL), enabled XPath without STL
git-svn-id: http://pugixml.googlecode.com/svn/trunk@659 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:22:54 +00:00
arseny.kapoulkine
0c5b9341bc XPath: Minor xpath_string refactoring, replaced STL algorithms with equivalent implementations (sort is quadratic for now)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@658 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:21:58 +00:00
arseny.kapoulkine
1e57d99484 XPath: Replaced std::string with xpath_string, refactored normalize_space, namespace_uri and translate
git-svn-id: http://pugixml.googlecode.com/svn/trunk@657 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:21:23 +00:00
arseny.kapoulkine
a33c030d60 Fixed null pointer deallocation
git-svn-id: http://pugixml.googlecode.com/svn/trunk@655 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:20:12 +00:00
arseny.kapoulkine
bc5901dd28 strcpy_insitu improvements: empty string forces deallocation, memory is reclaimed if waste is too great (small string is copied to the large buffer)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@654 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:19:22 +00:00
arseny.kapoulkine
9ec7db4c0c Reduced allocation header for strings from 8/16 to 4 bytes
git-svn-id: http://pugixml.googlecode.com/svn/trunk@653 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:18:22 +00:00
arseny.kapoulkine
1f74bf1edc XPath: Correct out of memory handling for string to number conversion during parsing, added corresponding test
git-svn-id: http://pugixml.googlecode.com/svn/trunk@651 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:16:55 +00:00
arseny.kapoulkine
6a9d59e907 XPath: Final MinGW unwind workaround
git-svn-id: http://pugixml.googlecode.com/svn/trunk@650 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:16:02 +00:00
arseny.kapoulkine
3284cc2f1b XPath: Number to string conversion uses ecvt_s under MSVC8+ (major speedup), minor conversion refactoring
git-svn-id: http://pugixml.googlecode.com/svn/trunk@649 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:15:21 +00:00
arseny.kapoulkine
6b4a375ec3 XPath: Allocator now uses custom allocation functions and has single static page, added out of memory handling during parsing
git-svn-id: http://pugixml.googlecode.com/svn/trunk@647 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:14:15 +00:00
arseny.kapoulkine
56334ccd95 Minor comment fix
git-svn-id: http://pugixml.googlecode.com/svn/trunk@646 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:13:28 +00:00
arseny.kapoulkine
a3d3798726 XPath: Minor refactoring
git-svn-id: http://pugixml.googlecode.com/svn/trunk@645 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:13:05 +00:00
arseny.kapoulkine
84ff2fbd5e XPath: m_ prefix changed to _
git-svn-id: http://pugixml.googlecode.com/svn/trunk@644 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:12:27 +00:00
arseny.kapoulkine
d4d82366af XPath: Added workaround for MinGW4.5 unwind crash by removing unwind information from longjmp stack
git-svn-id: http://pugixml.googlecode.com/svn/trunk@643 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:11:51 +00:00
arseny.kapoulkine
4662bc9e74 XPath: Minor parsing refactoring
git-svn-id: http://pugixml.googlecode.com/svn/trunk@641 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:10:08 +00:00
arseny.kapoulkine
9b6dc1a585 Added workarounds for all instances of DMC overfetch bug
git-svn-id: http://pugixml.googlecode.com/svn/trunk@640 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:09:34 +00:00
arseny.kapoulkine
608d5bbd79 XPath: Added error offset reporting
git-svn-id: http://pugixml.googlecode.com/svn/trunk@639 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:08:33 +00:00
arseny.kapoulkine
12607d6047 tests: Extended XPath tests
git-svn-id: http://pugixml.googlecode.com/svn/trunk@638 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:07:18 +00:00
arseny.kapoulkine
9292096c56 tests: Added support for XPath without exceptions
git-svn-id: http://pugixml.googlecode.com/svn/trunk@637 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:05:50 +00:00
arseny.kapoulkine
849a5a081b XPath: Initial support for operation without exceptions
git-svn-id: http://pugixml.googlecode.com/svn/trunk@636 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:04:27 +00:00
arseny.kapoulkine
c779ee05ce Minor iterator refactoring
git-svn-id: http://pugixml.googlecode.com/svn/trunk@635 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:03:15 +00:00
arseny.kapoulkine
b88cf138f9 root and offset_debug are now O(1)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@634 99668b35-9821-0410-8761-19e4c4f06640
2010-08-29 15:02:32 +00:00
arseny.kapoulkine
a09d5c0b8e Added null pointer assertion to load_buffer, refactored get_buffer_encoding
git-svn-id: http://pugixml.googlecode.com/svn/trunk@633 99668b35-9821-0410-8761-19e4c4f06640
2010-08-09 13:40:24 +00:00
arseny.kapoulkine
241b998fa3 XPath: Minor refactoring
git-svn-id: http://pugixml.googlecode.com/svn/trunk@631 99668b35-9821-0410-8761-19e4c4f06640
2010-08-05 04:53:56 +00:00
arseny.kapoulkine
a8e5f0ecf0 Removed some redundant code from pugixml.cpp, added internal xml_document::reset() function
git-svn-id: http://pugixml.googlecode.com/svn/trunk@630 99668b35-9821-0410-8761-19e4c4f06640
2010-08-05 04:52:07 +00:00
arseny.kapoulkine
f8c18461e6 XPath: Removed redundant whitespace skipping
git-svn-id: http://pugixml.googlecode.com/svn/trunk@625 99668b35-9821-0410-8761-19e4c4f06640
2010-08-03 12:37:19 +00:00
arseny.kapoulkine
cab68ab328 XPath: Added a workaround for DMC bug
git-svn-id: http://pugixml.googlecode.com/svn/trunk@622 99668b35-9821-0410-8761-19e4c4f06640
2010-08-03 09:30:46 +00:00
arseny.kapoulkine
f533923f1f XPath: Fixed leaks in case query compilation failed
git-svn-id: http://pugixml.googlecode.com/svn/trunk@621 99668b35-9821-0410-8761-19e4c4f06640
2010-08-03 08:05:32 +00:00
arseny.kapoulkine
64d98cdcfc CDATA section is output as multiple sections if it contains ]]>
git-svn-id: http://pugixml.googlecode.com/svn/trunk@616 99668b35-9821-0410-8761-19e4c4f06640
2010-07-22 13:13:10 +00:00
arseny.kapoulkine
546a0f7561 xml_node::find_node is now not recursive
git-svn-id: http://pugixml.googlecode.com/svn/trunk@614 99668b35-9821-0410-8761-19e4c4f06640
2010-07-22 07:59:11 +00:00
arseny.kapoulkine
93bb5dcb43 XPath: Restored document order sorting optimization (it's now automatic for nodes that were loaded and not significantly altered), minor traversal optimizations
git-svn-id: http://pugixml.googlecode.com/svn/trunk@613 99668b35-9821-0410-8761-19e4c4f06640
2010-07-22 07:54:34 +00:00
arseny.kapoulkine
04085a8875 Fixed stream loading memory leaks in the unlikely case streams have exception mask set, better stream error handling.
git-svn-id: http://pugixml.googlecode.com/svn/trunk@610 99668b35-9821-0410-8761-19e4c4f06640
2010-07-22 05:09:25 +00:00
arseny.kapoulkine
7d24b9b565 Set svn:eol-style to native for all text files
git-svn-id: http://pugixml.googlecode.com/svn/trunk@607 99668b35-9821-0410-8761-19e4c4f06640
2010-07-19 09:57:32 +00:00
arseny.kapoulkine
fc88f09ac1 Fixed alignment padding warning for Xbox 360
git-svn-id: http://pugixml.googlecode.com/svn/trunk@601 99668b35-9821-0410-8761-19e4c4f06640
2010-07-15 09:27:58 +00:00
arseny.kapoulkine
d130e82aaa Changed version in headers
git-svn-id: http://pugixml.googlecode.com/svn/trunk@588 99668b35-9821-0410-8761-19e4c4f06640
2010-07-11 12:06:41 +00:00
arseny.kapoulkine
052a8f2fe0 XPath: Capitalized all error messages
git-svn-id: http://pugixml.googlecode.com/svn/trunk@582 99668b35-9821-0410-8761-19e4c4f06640
2010-07-10 16:53:59 +00:00
arseny.kapoulkine
f4cb6eb737 XPath: Out-of-bounds xpath_node_set access is now undefined
git-svn-id: http://pugixml.googlecode.com/svn/trunk@581 99668b35-9821-0410-8761-19e4c4f06640
2010-07-10 15:48:34 +00:00
arseny.kapoulkine
5811786ccd remove_child and remove_attribute now return operation result
git-svn-id: http://pugixml.googlecode.com/svn/trunk@572 99668b35-9821-0410-8761-19e4c4f06640
2010-07-07 20:10:48 +00:00
arseny.kapoulkine
9adf67be3a Fixed strequalrange so that it matches the description (this also fixes first_element_by_path prefix bug), added more first_element_by_path tests
git-svn-id: http://pugixml.googlecode.com/svn/trunk@570 99668b35-9821-0410-8761-19e4c4f06640
2010-07-07 17:10:51 +00:00
arseny.kapoulkine
e22d38a150 traverse() function is now foolproof against walkers that modify node handles
git-svn-id: http://pugixml.googlecode.com/svn/trunk@568 99668b35-9821-0410-8761-19e4c4f06640
2010-07-07 14:48:46 +00:00
arseny.kapoulkine
aac7a252bf Iterator fixes: added assertions, fixed past-the-end iterator behavior wrt to iterator invalidation and comparisons
git-svn-id: http://pugixml.googlecode.com/svn/trunk@566 99668b35-9821-0410-8761-19e4c4f06640
2010-07-06 20:44:54 +00:00
arseny.kapoulkine
8e0c64401f xml_node::all_elements_by_name is now deprecated
git-svn-id: http://pugixml.googlecode.com/svn/trunk@563 99668b35-9821-0410-8761-19e4c4f06640
2010-07-06 18:51:29 +00:00
arseny.kapoulkine
57564791a3 Minor traverse() refactoring
git-svn-id: http://pugixml.googlecode.com/svn/trunk@561 99668b35-9821-0410-8761-19e4c4f06640
2010-07-06 12:21:38 +00:00
arseny.kapoulkine
8f27f244d0 parse_wnorm_attribute is no longer deprecated (it's part of W3C recommendations, after all)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@557 99668b35-9821-0410-8761-19e4c4f06640
2010-07-01 18:01:12 +00:00
arseny.kapoulkine
8dc819a700 XPath: Argument parsing and position invariance refactoring, reduced AST node size, moved literal string->number conversion to compile time
git-svn-id: http://pugixml.googlecode.com/svn/trunk@549 99668b35-9821-0410-8761-19e4c4f06640
2010-06-28 06:47:08 +00:00
arseny.kapoulkine
819c54e3ae Defined a deprecated xpath_type_t for compatibility
git-svn-id: http://pugixml.googlecode.com/svn/trunk@547 99668b35-9821-0410-8761-19e4c4f06640
2010-06-27 21:11:30 +00:00
arseny.kapoulkine
aeaa1da161 Renamed encoding_t to xml_encoding, renamed xpath_type_t to xpath_value_type
git-svn-id: http://pugixml.googlecode.com/svn/trunk@544 99668b35-9821-0410-8761-19e4c4f06640
2010-06-27 20:05:06 +00:00
arseny.kapoulkine
c7a8f498a7 Renamed name parameter in load_file/save_file to path
git-svn-id: http://pugixml.googlecode.com/svn/trunk@540 99668b35-9821-0410-8761-19e4c4f06640
2010-06-27 11:56:50 +00:00
arseny.kapoulkine
34cbe32773 Added null pointer assertions to as_utf8 and as_wide
git-svn-id: http://pugixml.googlecode.com/svn/trunk@531 99668b35-9821-0410-8761-19e4c4f06640
2010-06-23 17:06:42 +00:00