Commit Graph

189 Commits

Author SHA1 Message Date
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
arseny.kapoulkine
b515d52061 Spelling fixes
git-svn-id: http://pugixml.googlecode.com/svn/trunk@528 99668b35-9821-0410-8761-19e4c4f06640
2010-06-20 08:12:31 +00:00
arseny.kapoulkine
e618138b67 Fixed deprecation warnings for IntelC
git-svn-id: http://pugixml.googlecode.com/svn/trunk@527 99668b35-9821-0410-8761-19e4c4f06640
2010-06-19 18:30:24 +00:00
arseny.kapoulkine
0e84a0b5f4 Replaced _CRT_SECURE macros with #pragma to avoid warnings because of multiple macro definitions/forced includes
git-svn-id: http://pugixml.googlecode.com/svn/trunk@526 99668b35-9821-0410-8761-19e4c4f06640
2010-06-19 18:08:18 +00:00
arseny.kapoulkine
44134f448d Fixed SNC warnings
git-svn-id: http://pugixml.googlecode.com/svn/trunk@525 99668b35-9821-0410-8761-19e4c4f06640
2010-06-19 18:06:14 +00:00
arseny.kapoulkine
7b419ad9ec Automatically disable XPath when either PUGIXML_NO_STL or PUGIXML_NO_EXCEPTIONS is defined
git-svn-id: http://pugixml.googlecode.com/svn/trunk@524 99668b35-9821-0410-8761-19e4c4f06640
2010-06-16 07:48:45 +00:00
arseny.kapoulkine
4394a588c2 XPath: Rewritten number->string conversion using CRT scientific format (much better XPath REC compliance)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@523 99668b35-9821-0410-8761-19e4c4f06640
2010-06-14 18:03:50 +00:00
arseny.kapoulkine
30fbb3e328 Fixed MSVC x64 warning
git-svn-id: http://pugixml.googlecode.com/svn/trunk@522 99668b35-9821-0410-8761-19e4c4f06640
2010-06-13 20:41:12 +00:00
arseny.kapoulkine
ab72b14d17 Internal XML parsing error handling is done via setjmp/longjmp, all allocation errors are now handled correctly (parser returns status_out_of_memory, modification functions return errors); added tests for some out of memory situations
git-svn-id: http://pugixml.googlecode.com/svn/trunk@520 99668b35-9821-0410-8761-19e4c4f06640
2010-06-13 19:24:20 +00:00
arseny.kapoulkine
ce94228629 Fixed IntelC warnings, removed unnecessary hack for BCC
git-svn-id: http://pugixml.googlecode.com/svn/trunk@518 99668b35-9821-0410-8761-19e4c4f06640
2010-06-12 11:09:47 +00:00
arseny.kapoulkine
a562014cc2 Declaration nodes improvements (they now automatically get name "xml", they can't be inserted as a non-document child, document saving prints declaration only if there is none present in the document)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@517 99668b35-9821-0410-8761-19e4c4f06640
2010-06-12 09:04:52 +00:00
arseny.kapoulkine
0ed895d79c Refactored PI/declaration parsing, now non top-level declarations result in parsing errors
git-svn-id: http://pugixml.googlecode.com/svn/trunk@515 99668b35-9821-0410-8761-19e4c4f06640
2010-06-12 07:30:13 +00:00
arseny.kapoulkine
624b5702d7 Rewritten numeric character reference parsing (fixed &#; and &#x; parsing), added more character reference tests
git-svn-id: http://pugixml.googlecode.com/svn/trunk@512 99668b35-9821-0410-8761-19e4c4f06640
2010-06-11 20:39:57 +00:00
arseny.kapoulkine
141d26d3af Minor refactoring (moved unicode utilities to anonymous namespace, moved decode functions to templated class to work around function instantiation bugs, removed optN_to_type)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@511 99668b35-9821-0410-8761-19e4c4f06640
2010-06-11 19:01:40 +00:00
arseny.kapoulkine
45a0392656 Replaced charN_t types with uintN_t (C++0x compatibility)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@504 99668b35-9821-0410-8761-19e4c4f06640
2010-06-06 19:06:15 +00:00
arseny.kapoulkine
9fa82b15f5 Optimized attribute parsing; behavior of parse_wconv changed, it now assumes that parse_eol is set
git-svn-id: http://pugixml.googlecode.com/svn/trunk@503 99668b35-9821-0410-8761-19e4c4f06640
2010-06-04 18:50:26 +00:00
arseny.kapoulkine
f9c7855143 Minor strcpy_insitu optimization for large strings, removed now redundant impl::strcpy
git-svn-id: http://pugixml.googlecode.com/svn/trunk@502 99668b35-9821-0410-8761-19e4c4f06640
2010-06-03 07:12:51 +00:00
arseny.kapoulkine
f8e9905339 Removed redundant function
git-svn-id: http://pugixml.googlecode.com/svn/trunk@491 99668b35-9821-0410-8761-19e4c4f06640
2010-06-01 06:39:55 +00:00
arseny.kapoulkine
a248138ced Constant deprecation is disabled only on old IntelC, removed deprecation warnings with appropriate define instead of disabling warning via pragma
git-svn-id: http://pugixml.googlecode.com/svn/trunk@489 99668b35-9821-0410-8761-19e4c4f06640
2010-06-01 05:40:03 +00:00
arseny.kapoulkine
1f8ba5aa60 XPath: Added check for fpclassify presence before use
git-svn-id: http://pugixml.googlecode.com/svn/trunk@488 99668b35-9821-0410-8761-19e4c4f06640
2010-05-31 17:33:55 +00:00
arseny.kapoulkine
88bdad514c XPath: Slightly optimized lexer
git-svn-id: http://pugixml.googlecode.com/svn/trunk@487 99668b35-9821-0410-8761-19e4c4f06640
2010-05-31 16:57:51 +00:00
arseny.kapoulkine
4c0e67ae92 XPath: Replaced backtracking with lookahead in absolute path parsing
git-svn-id: http://pugixml.googlecode.com/svn/trunk@485 99668b35-9821-0410-8761-19e4c4f06640
2010-05-31 16:53:13 +00:00
arseny.kapoulkine
18848ef589 Fixed DMC compilation
git-svn-id: http://pugixml.googlecode.com/svn/trunk@484 99668b35-9821-0410-8761-19e4c4f06640
2010-05-31 16:12:16 +00:00
arseny.kapoulkine
a2433c90a2 XPath: Removed separate semantics checking pass, types are verified during parsing
git-svn-id: http://pugixml.googlecode.com/svn/trunk@482 99668b35-9821-0410-8761-19e4c4f06640
2010-05-31 11:45:03 +00:00
arseny.kapoulkine
f1bfe4cc64 Simplified fp specials handling in XPath (using common faster implementation for both MSVC and BCC)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@480 99668b35-9821-0410-8761-19e4c4f06640
2010-05-31 07:56:13 +00:00
arseny.kapoulkine
51bb70cdcf Changed fp specials handling in XPath (using fpclassify/fpclass where possible, NaN generation is based on float QNaN, removed magic double constants/byte arrays)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@479 99668b35-9821-0410-8761-19e4c4f06640
2010-05-31 07:41:54 +00:00
arseny.kapoulkine
555a184f4f Fixed XPath parsing (numbers of the form \d+\. are now parsed correctly, stray colon does not act as eof token)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@476 99668b35-9821-0410-8761-19e4c4f06640
2010-05-30 20:44:15 +00:00
arseny.kapoulkine
d582a3f374 Fixed node tests for attributes
git-svn-id: http://pugixml.googlecode.com/svn/trunk@472 99668b35-9821-0410-8761-19e4c4f06640
2010-05-30 07:53:06 +00:00
arseny.kapoulkine
c436c32e6c Fixed descendant-or-self axis for attributes
git-svn-id: http://pugixml.googlecode.com/svn/trunk@468 99668b35-9821-0410-8761-19e4c4f06640
2010-05-29 22:52:40 +00:00
arseny.kapoulkine
1c567decca Fixed following:: and preceding:: axes for attribute nodes
git-svn-id: http://pugixml.googlecode.com/svn/trunk@466 99668b35-9821-0410-8761-19e4c4f06640
2010-05-29 20:11:36 +00:00
arseny.kapoulkine
d3419f2f4b Added round_nearest_nzero explanation
git-svn-id: http://pugixml.googlecode.com/svn/trunk@462 99668b35-9821-0410-8761-19e4c4f06640
2010-05-29 13:12:46 +00:00
arseny.kapoulkine
f262cbb6be XPath round() is now fully compliant
git-svn-id: http://pugixml.googlecode.com/svn/trunk@461 99668b35-9821-0410-8761-19e4c4f06640
2010-05-29 13:11:32 +00:00
arseny.kapoulkine
c3f4423e98 Very minor XPath refactoring
git-svn-id: http://pugixml.googlecode.com/svn/trunk@459 99668b35-9821-0410-8761-19e4c4f06640
2010-05-29 09:02:33 +00:00