Commit Graph

344 Commits

Author SHA1 Message Date
Sarat Addepalli 9c3122b89b Bypass asserts for `XMLDocument::Value()`
When the node is an XMLDocument, bypass calling the `_value.GetStr()` function, since we know we have to return `( const char* )0` inevitably.

This fixes #323
2015-05-19 12:49:32 +05:30
Sarat Addepalli 2f0d173f94 Fix whitespaces in tinyxml2.cpp 2015-05-19 09:02:16 +05:30
Sarat Addepalli a0f499dda1 Fix ParseDeep() to close issue #332
If the node to be added is an XML Declaration, then check if the document has any children already.
XML Declarations can only be the FirstChild() s of an XML Document.
2015-05-18 09:25:17 +05:30
Dmitry-Me 67c429e4b4 Avoid unneeded printer object creation 2015-05-08 18:08:18 +03:00
Dmitry-Me 72801b8b20 First check, then convert 2015-05-07 09:41:39 +03:00
Dmitry-Me 2a8b1f5789 Ensure file contents fit into size_t range 2015-04-30 14:58:57 +03:00
Lee Thomason 882e89e601 Merge pull request #326 from Dmitry-Me/cleanupPointersComparison
Unify pointers comparison, consistency asserts
2015-04-27 16:57:37 -07:00
Dmitry-Me 69d521d354 Unify pointers comparison, consistency asserts 2015-04-20 18:05:53 +03:00
Dmitry-Me 2ad4320339 Range check without clang "always true" warning 2015-04-16 12:18:58 +03:00
Lee Thomason 4f0c2ffcab fix 'always true' warning 2015-04-13 13:58:20 -07:00
Dmitry-Me ccd267a782 Detect parsing error earlier when looking at end of tag 2015-04-10 15:42:54 +03:00
Lee Thomason e3932d6b7f Merge pull request #319 from Dmitry-Me/getRidOfNull
Get rid of NULL, cleanup formatting
2015-04-09 14:49:25 -07:00
Lee Thomason 5ea4f3cb77 Merge pull request #315 from Dmitry-Me/orderPatternsAsTheyAreSearched
Order patterns the same way they are searched
2015-04-09 14:48:44 -07:00
Dmitry-Me e76b8519d1 Get rid of NULL, cleanup formatting 2015-04-08 13:41:40 +03:00
Dmitry-Me 9614f8ff74 More consistency asserts 2015-04-08 10:06:06 +03:00
Dmitry-Me 400f1199ea Ensure enum is printed properly 2015-04-07 11:51:21 +03:00
Dmitry-Me 2667aab551 Const qualifiers where access is const, unify formatting 2015-04-03 10:56:59 +03:00
Lee Thomason 51b33321be Merge pull request #308 from Dmitry-Me/mergePrintCalls
Merge Print() calls
2015-04-02 13:27:50 -07:00
Dmitry-Me 6a79c17c87 Merge Print() calls 2015-03-31 12:18:17 +03:00
Dmitry-Me c505e136da Order patterns the same way they are searched 2015-03-30 09:54:36 +03:00
Dmitry-Me d95172ba47 Print entire substring instead of each character 2015-03-30 08:11:18 +03:00
Lee Thomason f657783cf2 merge fix for save file error 2015-03-26 11:18:21 -07:00
Lee Thomason 3ccb1cec29 minor formatting cleanup 2015-03-24 11:17:44 -07:00
Ant Mitchell 189198f19c Issue 302: clear any previous save error 2015-03-24 16:20:36 +00:00
Ant Mitchell 7e744771ad Issue299 - Allow Accept() to work with element trees that are not
linked in to the owning document.
2015-03-24 14:33:28 +00:00
Lee Thomason 2b1e18185c Merge pull request #298 from Dmitry-Me/fixCommentTypo
Fix comment typo
2015-03-16 11:57:38 -07:00
Dmitry-Me 2f465c412a Fix comment typo 2015-03-16 11:08:23 +03:00
Dmitry-Me 3dc797b2a4 Better asserts in parsing 2015-03-16 11:06:46 +03:00
Lee Thomason 245bee08d6 Merge pull request #296 from Dmitry-Me/assertForImpossibleCase
Assert for impossible case
2015-03-15 16:14:12 -07:00
Lee Thomason 80647bde2e Merge remote-tracking branch 'origin/master' 2015-03-15 16:12:51 -07:00
Lee Thomason 7265b763fc merge change; add extra assert 2015-03-15 16:11:47 -07:00
Dmitry-Me 33bb764d12 Assert for impossible case 2015-03-14 17:14:00 +03:00
Dmitry-Me bab9b6d59c More asserts in numbers parsing 2015-03-14 16:41:46 +03:00
Dmitry-Me 6f51c803a1 Resolve crash when printing malformed entities - issue 291 2015-03-14 13:25:03 +03:00
Dmitry-Me 9fcb876d3b Fix null pointer dereference planted in PR287 and reported in PR288 2015-03-05 17:53:34 +03:00
Dmitry-Me 023846628d Add and make use of pre- and post-asserts in XMLDocument::Identify() 2015-03-03 16:02:13 +03:00
Dmitry-Me 6acc9a5469 Move declaration to actual first use 2015-01-15 13:27:47 +03:00
Dmitry-Me 30bdc9735b Pre-asserts to clarify buffer usage 2015-01-14 08:32:23 +03:00
Lee Thomason d95716bd79 Merge pull request #273 from Dmitry-Me/moreChecksInUtfConversion
More checks inside UTF conversion
2015-01-13 13:39:46 -08:00
Lee Thomason 7e67bc89de minor formatting changes 2015-01-12 14:05:12 -08:00
Dmitry-Me bbaf1e1498 More checks inside UTF conversion 2015-01-12 14:07:10 +03:00
Dmitry-Me 9f56e12c16 strchr() can only find what is was asked for 2015-01-12 10:07:54 +03:00
Lee Thomason d15686653a Merge pull request #269 from Dmitry-Me/makeFormattingConsistent
Fix formatting, get rid of useless if-else chain
2015-01-09 16:57:17 -08:00
Lee Thomason f802660f7d Merge pull request #268 from Dmitry-Me/avoidRepeatedComparisons
Get rid of repeated comparisons
2015-01-09 16:56:40 -08:00
Dmitry-Me 257e11b25b Fix formatting, get rid of useless if-else chain 2015-01-09 15:50:47 +03:00
Dmitry-Me 3ae4f3eb3c Get rid of repeated comparisons 2015-01-09 15:44:16 +03:00
Dmitry-Me e28be7530c Use explicit const_cast 2015-01-09 14:59:30 +03:00
Lee Thomason 3cebdc4fac clean up function names. clean up pointer 2015-01-05 17:16:28 -08:00
Lee Thomason 75b4e23957 Merge pull request #260 from Dmitry-Me/placeChecksInMoreNaturalOrder
Rearrange checks in more natural order
2015-01-05 17:07:50 -08:00
Lee Thomason 6e504e9baf Merge pull request #259 from Dmitry-Me/preAndPostAssertsInGetStr
Pointer asserts in GetStr()
2015-01-05 17:07:06 -08:00
Lee Thomason 625402a01f Merge pull request #257 from Dmitry-Me/reusePreInsertMagic
Reuse pre-insert manipulations
2015-01-05 17:05:23 -08:00
Lee Thomason 56223ddaea Merge pull request #256 from Dmitry-Me/reuseParseAdjustments
Reuse code with pre-parse adjustments
2015-01-05 17:04:04 -08:00
Lee Thomason deccff765f Merge pull request #254 from JayXon/onlyCheckElementPointerOnce
Only check ele pointer once
2015-01-05 17:00:43 -08:00
Dmitry-Me 7a7e5dc525 Rearrange checks in more natural order 2015-01-01 17:58:35 +03:00
Dmitry-Me 5ffa73e979 Pointer asserts in GetStr() 2015-01-01 17:47:40 +03:00
Dmitry-Me 74e394023a Reuse pre-insert manipulations 2015-01-01 16:26:17 +03:00
Dmitry-Me 97476b7b9e Reuse code with pre-parse adjustments 2015-01-01 16:15:57 +03:00
Lee Thomason b4e81b014e Merge pull request #253 from Dmitry-Me/getRidOfC4127InAssert
Suppress C4127 in asserts
2014-12-26 16:25:14 -08:00
Lee Thomason 5f06297230 Merge pull request #248 from JayXon/simplifyParseName
Simplify ParseName
2014-12-26 16:18:46 -08:00
JayXon e4bf6e360d Only check ele pointer once 2014-12-26 01:00:24 -05:00
Dmitry-Me 4bcbf142a8 Suppress C4127 in asserts 2014-12-25 19:05:18 +03:00
JayXon ee525dba4d Simplify ParseName
Only the first char needs to be checked with IsNameStartChar, so check
it before the loop.
2014-12-24 04:01:42 -05:00
Dmitry-Me bb836dce57 Unify SkipWhiteSpace()/ReadBOM() calls, add asserts 2014-12-24 11:54:05 +03:00
Lee Thomason 69242c4b9b Merge pull request #247 from Dmitry-Me/combineCheckWithDependentCall
Move the check into dependent call
2014-12-23 13:16:11 -08:00
Dmitry-Me a092bc1f5a Move the check into dependent call 2014-12-23 17:57:05 +03:00
Dmitry-Me 5b4a5169e3 Move variable declaration closer to where it's needed 2014-12-23 17:36:28 +03:00
Lee Thomason 4e5900c5e8 Merge pull request #244 from Dmitry-Me/unifyCharacterCasts
Unify character casts, reorganize checks
2014-12-22 11:26:52 -08:00
Lee Thomason 0b4bdd2a47 Merge pull request #243 from JayXon/simplify_node_logic
Simplify node logic
2014-12-22 11:22:47 -08:00
Dmitry-Me 8b67d741d4 Unify character casts, reorganize checks 2014-12-22 11:35:12 +03:00
Lee Thomason ebb0c8f904 fix compiler warning 2014-12-17 10:50:32 -08:00
Lee Thomason 7334f9efab fix a clang warning 2014-12-17 10:43:48 -08:00
Lee Thomason cd011bc1b7 start working through memory bugs 2014-12-17 10:41:34 -08:00
JayXon dbfdd8fdd5 Simplify node logic 2014-12-12 20:07:14 -05:00
Lee Thomason ee2c46928e Merge pull request #240 from Dmitry-Me/simplifyNodeOwnershipTracking
Even more pointer pre-asserts
2014-12-12 15:37:22 -08:00
Dmitry-Me ed2a407a88 Add more pointer pre-asserts 2014-12-12 10:38:48 +03:00
Dmitry-Me e6a95ce50e Validate pool block has the right size before calling placement new 2014-12-10 09:10:27 +03:00
Lee Thomason f0e8fac4ee Merge pull request #239 from Dmitry-Me/addMorePointerAsserts
More pointer pre-asserts
2014-12-09 11:14:16 -08:00
Dmitry-Me abb2d046d0 More pointers pre-asserts 2014-12-09 12:59:31 +03:00
Dmitry-Me 9bcd9c7674 Should not check errorID with implicit conversion 2014-12-09 10:58:14 +03:00
Dmitry-Me 1227d51ed0 Reuse const FindAttribute for non-const version thereof 2014-12-05 13:41:45 +03:00
Dmitry-Me ab37df8d67 Error checking never actually checked anything 2014-11-28 12:08:36 +03:00
Lee Thomason 2114e47453 Merge pull request #230 from antonindrawan/master
Compile TinyXml2 with the Dinkum C++ of QNX 6.5 and QNX 6.6.
2014-11-27 22:34:34 -08:00
Lee Thomason 2965880447 switch to using pointer, not reference 2014-11-27 22:31:11 -08:00
Anton Indrawan f59e2d6a89 Compile TinyXml2 with the Dinkum C++ of QNX 6.5 and QNX 6.6.
When we include c++ headers, we have to use explicit std::
2014-11-18 20:50:42 +01:00
Lee Thomason 03494b189c Merge remote-tracking branch 'origin/master' into Dmitry-Me-properStrPairAssignment 2014-11-15 17:50:17 -08:00
Dmitry-Me 08b40dd8a5 Implement "move" equivalent of assignment operator for StrPair 2014-11-10 11:17:21 +03:00
Dmitry-Me 66d2a84715 Add pre-assert, fix comment 2014-11-08 15:24:52 +03:00
Lee Thomason f07b952296 fix issue 184. clean up xcode project. 2014-10-30 13:25:12 -07:00
Dmitry-Me d048f1e8e3 Bind reference to avoid repeated accesses by index 2014-10-01 10:30:16 +04:00
Dmitry-Me 097339a099 Remove unneeded virtual calls 2014-09-29 13:20:29 +04:00
Dmitry-Me 6d202ff20e Eliminate repeated virtual calls 2014-09-26 14:21:00 +04:00
Dmitry-Me 9fb2b0f42c Remove unneeded cast, reduce duplication, move declarations to their first use. 2014-09-23 17:27:39 +04:00
Lee Thomason 331596e83c clean up the scope and names of the error code. 2014-09-11 14:56:43 -07:00
numatrumpet 003368429f ErrorNames is not implemented by vector<string> but *char[] 2014-09-08 16:36:28 +09:00
numatrumpet bb5ffac22d Using C++11, XMLUtil::ToErrorName(XMLError) returns the name of error type 2014-09-06 22:56:46 +09:00
Dmitry-Me 3659fe1d33 Move loop variable definition into loop headers 2014-09-04 11:33:49 +04:00
Dmitry-Me e3225b1c64 Convert DELETE_X macros into functions 2014-09-03 11:03:11 +04:00
Dmitry-Me b6b4e82626 Remove repeated virtual calls 2014-08-27 17:17:47 +04:00
Dmitry-Me ec19a0e513 Remove obsolete comment 2014-08-25 11:05:55 +04:00
Dmitry-Me 63f3de1a3c Make code more defensive
* initialize out-parameter for cases the callee fails to
* add assert for length being within range
* replace post-assert with pre-assert

Also replace the loop with an equivalent memcpy() call
2014-08-21 12:33:19 +04:00
Dmitry-Me 67a5bb0ac1 Assert when trying to adjust _start in "needs delete" mode. 2014-08-20 10:01:53 +04:00
Dmitry-Me 01578db56b Wrap fopen()/fopen_s() calls to avoid duplication 2014-08-19 10:18:48 +04:00
Dmitry-Me acb9c9c260 Check ftell() result for error code before using it. 2014-08-04 09:49:25 +04:00
Dmitry-Me 08e7f7be59 fgetc() is not required to clear the error indicator on success 2014-07-31 15:19:14 +04:00
pffang 91d34a0989 WinCE Compatibility Fix 2014-07-10 10:02:35 +08:00
Lee Thomason a0744c8dca fix implementation of much simpler visual studio printing 2014-03-16 10:32:27 -07:00
Thomas Roß 268c683fbd Use _vscprintf to calc length of expanded format string. 2014-03-13 23:35:16 +01:00
Uli Kusterer 613410095c Provide finer control over indentation inside the XMLPrinter. You'll have to subclass it to override its standard behaviour by overwriting CompactMode(). 2014-02-22 17:19:08 +01:00
Lee Thomason 7de26f7dc7 Merge remote-tracking branch 'origin/master' 2014-02-21 22:47:21 -08:00
Lee Thomason 82d3200571 clean up some error checking logic 2014-02-21 22:47:18 -08:00
Uli Kusterer 5d1d27e88b Keep indentation control fully inside the XMLPrinter. You'll have to subclass it to override its standard behaviour by overwriting CompactMode(). 2014-02-20 11:50:22 +01:00
Uli Kusterer 07ac762b80 SetBoolFirstChild now makes sure its bool is not wrapped onto its own line. 2014-02-01 15:06:50 +01:00
Uli Kusterer b85b4e0a60 Merge branch 'pernodecompactwhitespace'
* pernodecompactwhitespace:
  SetForceCompactMode() now also handles case of a single tag inside another correctly.
  Give tests a few more chances to fail, e.g. on tag sequences or attributes.
  Added SetForceCompactMode() for overriding the compact setting on a per-node level. All sub-nodes will be printed compact as well.

Conflicts:
	xmltest.cpp
2014-02-01 13:38:04 +01:00
Uli Kusterer ca412e87f2 SetForceCompactMode() now also handles case of a single tag inside another correctly. 2014-02-01 13:35:05 +01:00
Uli Kusterer d5c9e8b81d Added SetForceCompactMode() for overriding the compact setting on a per-node level. All sub-nodes will be printed compact as well. 2014-02-01 12:57:57 +01:00
Uli Kusterer 593a33d061 Added SetForceCompactMode() for overriding the compact setting on a per-node level. All sub-nodes will be printed compact as well. 2014-02-01 12:48:51 +01:00
Uli Kusterer 53fe47c74e Remove long long stuff again. 2014-01-27 01:47:30 +01:00
Uli Kusterer 35ce309f73 Urk, forgot to build this one after merging and goofed a bit. 2014-01-25 03:37:16 +01:00
Uli Kusterer 2861a7e63a Merge branch 'master' of https://github.com/leethomason/tinyxml2
Conflicts:
	tinyxml2.cpp
	xmltest.cpp
2014-01-25 03:12:21 +01:00
Lee Thomason 5bb2d8079b add variants of SetText() to support types 2014-01-24 10:42:57 -08:00
Uli Kusterer 664d05662e Support for 'long long' number values. 2014-01-21 12:24:47 +01:00
Uli Kusterer ff8e2041dd To bring BoolFirstChild() more in line with the other methods, reimplemented it in terms of a new QueryBoolFirstChild(). 2014-01-21 02:53:47 +01:00
Uli Kusterer c1c20bb196 Bools should really be implemented as self-closing <true /> and <false /> tags, not as 0/1 inside a tag, so removing those SetText variants again, in favor of SetBoolFirstChild() and BoolFirstChild() methods. 2014-01-21 02:23:20 +01:00
Uli Kusterer dcefa0e43f Add typed convenience setters for SetText(). 2014-01-21 01:36:41 +01:00
Uli Kusterer 869bb599c1 Make SetText() behave like the docs say. 2014-01-21 01:36:16 +01:00
Uli Kusterer 8fe342a872 Add SetText() as analog to GetText(). 2014-01-21 01:12:47 +01:00
Lee Thomason 44ce7930b7 Merge branch 'master' of https://github.com/leethomason/tinyxml2 2014-01-14 12:30:18 -08:00
Lee Thomason c3708ccf08 implement a fix to floating point precision as proposed by schuellc. 2014-01-14 12:30:03 -08:00
Daniel Marjamäki ba4b328b3d Fixed issue 147 (XMLDocument::LoadFile() may crash on non-regular file) 2014-01-10 21:37:27 +01:00
psi 690ba07bda you have to check len before accsessing "p". 2013-11-03 10:54:33 +09:00
Lee Thomason 3b7927efb5 formatting tweaks 2013-10-26 21:50:46 -07:00
Michael Daumling ed52328ced Insert() methods check for inserted XML to be in the same doc, and remove XML from old location if already inserted. 2013-10-23 07:47:29 +02:00
Michael Daumling 2162688ad3 Issue #134: Change 3 methods to not being inlined. They reference the StrPair class, which is not exported, thus creating linker problems with tinyxml2 in a DLL. 2013-10-22 17:03:37 +02:00
PKEuS 1bfb95488f Added depth as constructor argument to XMLPrinter. This way, XML files that are not written with XMLDocument can be properly indented.
Removed unused forward declaration
2013-08-04 14:04:09 +02:00
PKEuS 1c5f99e37c Fixed two cppcheck messages 2013-07-06 11:28:39 +02:00
Thomas Roß 6189231187 Initialize pointers to satisfy static code analyser. 2013-05-12 14:07:38 +02:00
Lee Thomason (grinliz) d6bd7360b8 fix floating point specifier and clean up a warning 2013-05-11 20:23:13 -07:00
Thomas Roß 1470edc595 Fixed compiler warning for x64 builds. 2013-05-10 15:44:12 +02:00
Lee Thomason (grinliz) d0a38c3a20 fix BOM preservation bugs. add new tests 2013-04-29 09:15:37 -07:00
Vasily Biryukov 1cfafd0d24 Fixed: LoadFile() returns XML_NO_ERROR for empty documents. 2013-04-20 14:12:33 +06:00
Andrew C. Martin 0fd8746f64 correct typos in comments / documentation 2013-03-09 20:09:45 -07:00
Lee Thomason (grinliz) 61cea67517 removing debug output 2013-02-01 19:13:13 -08:00
Lee Thomason (grinliz) ac83b4e278 adjust the size of the memory pools 2013-02-01 09:02:34 -08:00
Martinsh Shaiters a9d42b0dd3 Replace InitDocument() with Clear() and make it part of the API. 2013-01-30 11:19:39 +02:00
Martinsh Shaiters c6d02f48d5 Implement new utility functions for testing validity of name and token characters. 2013-01-26 22:43:54 +02:00
MortenMacFly 4ee49f1690 Eliminate warnings with GCC/MinGW 2013-01-14 20:03:14 +01:00
Jerome Martinez 242c3eaa33 Reverting std lib is in std:: namespace and using .h versions instead 2013-01-06 12:20:04 +01:00
Lee Thomason 5b0a677712 fix incorrect assert on unused memory 2012-11-19 13:54:42 -08:00
Lee Thomason 685b895172 trivial comment fix 2012-11-12 13:00:06 -08:00
Lee Thomason 8950b37aa0 Merge branch 'master' of https://github.com/leethomason/tinyxml2 2012-11-12 12:59:25 -08:00