Commit Graph

172 Commits

Author SHA1 Message Date
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
arseny.kapoulkine
7e94e0c5ef Removed redundant template
git-svn-id: http://pugixml.googlecode.com/svn/trunk@457 99668b35-9821-0410-8761-19e4c4f06640
2010-05-26 05:17:13 +00:00
arseny.kapoulkine
cd9bc5fa83 Added support for Sun C++ compiler
git-svn-id: http://pugixml.googlecode.com/svn/trunk@452 99668b35-9821-0410-8761-19e4c4f06640
2010-05-25 21:46:07 +00:00
arseny.kapoulkine
75a0d2379a Updated version, updated changelog, minor Doxygen fixes
git-svn-id: http://pugixml.googlecode.com/svn/trunk@449 99668b35-9821-0410-8761-19e4c4f06640
2010-05-25 19:24:32 +00:00
arseny.kapoulkine
c88b4ca2c2 Internal charN_t types now use fixed size uintN_t types
git-svn-id: http://pugixml.googlecode.com/svn/trunk@448 99668b35-9821-0410-8761-19e4c4f06640
2010-05-25 17:27:29 +00:00
arseny.kapoulkine
6e2521830f Optimized utf8 decoding
git-svn-id: http://pugixml.googlecode.com/svn/trunk@447 99668b35-9821-0410-8761-19e4c4f06640
2010-05-25 16:50:03 +00:00
arseny.kapoulkine
1046fe1f7b Optimized utf8 -> wchar_t conversion, replaced assert with static assert
git-svn-id: http://pugixml.googlecode.com/svn/trunk@446 99668b35-9821-0410-8761-19e4c4f06640
2010-05-25 13:47:37 +00:00
arseny.kapoulkine
ece9147611 Changed memory management so that the document node lives inside document; this way a default-constructed document does not allocate any dynamic memory
git-svn-id: http://pugixml.googlecode.com/svn/trunk@445 99668b35-9821-0410-8761-19e4c4f06640
2010-05-25 07:55:44 +00:00
arseny.kapoulkine
4e05568c4d Fixed BCC and MSVC6 compilation
git-svn-id: http://pugixml.googlecode.com/svn/trunk@444 99668b35-9821-0410-8761-19e4c4f06640
2010-05-25 07:54:36 +00:00
arseny.kapoulkine
7c01cf8df3 Nodes/attributes with empty names now are printed as :anonymous
git-svn-id: http://pugixml.googlecode.com/svn/trunk@441 99668b35-9821-0410-8761-19e4c4f06640
2010-05-21 05:50:53 +00:00
arseny.kapoulkine
e31d977c80 Optimized debug mode parsing/saving by order of magnitude
git-svn-id: http://pugixml.googlecode.com/svn/trunk@440 99668b35-9821-0410-8761-19e4c4f06640
2010-05-20 22:15:23 +00:00
arseny.kapoulkine
4c7d82fa5b More compare_eq/rel refactoring
git-svn-id: http://pugixml.googlecode.com/svn/trunk@439 99668b35-9821-0410-8761-19e4c4f06640
2010-05-20 22:11:19 +00:00
arseny.kapoulkine
ba1b2017db as_* functions now all use strto*/wcsto* functions; this unifies the behavior and fixes large unsigned integer parsing in as_uint
git-svn-id: http://pugixml.googlecode.com/svn/trunk@438 99668b35-9821-0410-8761-19e4c4f06640
2010-05-20 20:35:49 +00:00
arseny.kapoulkine
1f5be930d0 Assume that all compilers (except Microsoft) have stdint.h
git-svn-id: http://pugixml.googlecode.com/svn/trunk@437 99668b35-9821-0410-8761-19e4c4f06640
2010-05-20 20:18:59 +00:00
arseny.kapoulkine
31c4cb2d8b XPath refactoring (ast_filter/filter_posinv/predicates use the same function, removed greater* specializations for compare_rel, starts_with is used more extensively, const-correctness fixes)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@425 99668b35-9821-0410-8761-19e4c4f06640
2010-05-17 06:54:06 +00:00
arseny.kapoulkine
697a5de5db Fixed GCC build
git-svn-id: http://pugixml.googlecode.com/svn/trunk@419 99668b35-9821-0410-8761-19e4c4f06640
2010-05-12 21:36:22 +00:00
arseny.kapoulkine
544a527abd Fixed incorrect allocator pointer in pages during parsing
git-svn-id: http://pugixml.googlecode.com/svn/trunk@415 99668b35-9821-0410-8761-19e4c4f06640
2010-05-11 06:55:07 +00:00
arseny.kapoulkine
157f720e12 Various test compilation fixes
git-svn-id: http://pugixml.googlecode.com/svn/trunk@414 99668b35-9821-0410-8761-19e4c4f06640
2010-05-10 21:36:05 +00:00