Commit Graph

179 Commits

Author SHA1 Message Date
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
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
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