Commit Graph

250 Commits

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