Commit Graph

323 Commits

Author SHA1 Message Date
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
Lee Thomason 2fa8172236 type XMLError. fix some comments 2012-11-09 12:37:46 -08:00
Kevin Wojniak 04c22d250a Enclose code in namespace instead of 'using namespace' to resolve conflict on Windows with MSXML. Fixes issue #37. 2012-11-08 11:02:22 -08:00
Jerome Martinez 7fbefab95d std lib is in std:: namespace only and array definition is not possible with an enum 2012-10-19 11:30:33 +02:00
Lee Thomason 1aa8fc4a1e fix up rename on windows 2012-10-13 20:01:30 -07:00
Lee Thomason 624d43fc05 finish switching to _ for member vars 2012-10-12 10:58:48 -07:00
Lee Thomason 120b3a62be switch StrPair() over to _ for member vars 2012-10-12 10:06:59 -07:00
Lee Thomason a9cf3f9f3f Switched to Artistic Style auto-formatting to allow integration of patches from other coding styles. 2012-10-11 16:56:51 -07:00
sniperbat a5716b787a nothing but just remove compile warning 2012-10-11 15:22:28 +08:00
Lee Thomason 3cd66ee850 fix a fopen bug: rb should be w 2012-09-25 13:22:41 -07:00
Lee Thomason (grinliz) fc6320e30a experimented with print f vs. g. increased version 2012-09-23 20:25:50 -07:00
Lee Thomason (grinliz) e2bcb32494 accept a nBytes argument for Parse() 2012-09-17 17:58:25 -07:00
Lee Thomason (grinliz) 2f1f6247e0 remove trailing spaces 2012-09-16 11:32:34 -07:00
Lee Thomason (grinliz) 6da5410110 changes for martell to clean up fopen 2012-09-09 22:05:49 -07:00
Lee Thomason (grinliz) 79869e77f9 changes for martell to clean up fopen 2012-09-09 22:04:52 -07:00
Lee Thomason (grinliz) 62d1c5a739 fix merge 2012-09-08 21:44:12 -07:00
Lee Thomason (grinliz) 5fbacbec06 fix name parsing to accept additional lead characters 2012-09-08 21:40:53 -07:00
Lee Thomason (grinliz) 491d587484 Merge branch 'master' into whitespace 2012-09-08 21:24:00 -07:00
Robert Reif 312a20fdd4 Add support to XMLDocument to save file in compact mode. 2012-09-08 19:33:57 -04:00
Martell 186476c665 Shut up visual studio 2012-09-06 16:41:46 +01:00
Lee Thomason (grinliz) bc1bfb7f27 added whitespace=collapse support. tests work. code needs review 2012-08-20 22:00:38 -07:00
PKEuS c28ba3aeab Fixed cppcheck warnings 2012-07-16 03:08:47 -07:00
Lee Thomason 21be882810 Moving string in/out into XMLUtil. Using that across the API. Supporting text queries of primitive types. 2012-07-15 17:27:22 -07:00
Lee Thomason 78a773ddd9 Fix attribute parsing to correctly handle white space 2012-07-02 10:10:19 -07:00
Lee Thomason (grinliz) 390e978da1 Fix infinite loop bug in ShallowEqual. Fix a warning with a re-interpret cast. Up version to 1.0.4 2012-07-01 21:22:53 -07:00
Lee Thomason a3efec0449 clean up some warnings 2012-06-15 14:30:44 -07:00
sniperbat 2590088631 Add compact mode to XMLPrinter, for printing without '\n' and space.
let output file smaller.
usage:
//------------------------------------------------
XMLPrinter printer;
printer->SetCompactMode( true ); //enable compact mode
doc->Print( &printer );
SomeFunction( printer.CStr() );
//------------------------------------------------
or
//------------------------------------------------
//enable at construction
XMLPrinter printer( file, true );         // to file
//XMLPrinter printer( NULL, true ); // to men
doc->Print( &printer );
SomeFunction( printer.CStr() );
//------------------------------------------------

The '\n' and space in Text or Attribute will be kept.
2012-05-28 17:22:07 +08:00
Lee Thomason ee87c620c8 possible missing header 2012-05-14 09:27:47 -07:00
Thomas Ro 7d7a9a37bd fixed VS2010 x64 compiler warnings about possible loss of data 2012-05-10 00:23:19 +02:00
Lee Thomason f68c438ee2 added new test for BOM, and added good defaults for NewDeclaration 2012-04-28 14:37:11 -07:00
Lee Thomason 9708885e5e minor cleanup to the parsing loop 2012-04-18 11:39:42 -07:00
Lee Thomason 5e3803cac3 Better attribute system. Removes redundant list searching of LinkAttribute. Faster parsing on initial read. Added badly needed missing test cases. 2012-04-16 08:57:05 -07:00
Ken Miller 81da1fb26b Made SaveFile symmetrical with LoadFile
Added overload taking a FILE pointer
Return error code (if any) instead of void
2012-04-09 23:32:26 -05:00
Lee Thomason (grinliz) a4a36ba3c2 remove random -1 in length 2012-04-06 21:24:29 -07:00
Lee Thomason (grinliz) 598c13efa8 fix the safe function behavior 2012-04-06 21:18:23 -07:00
Lee Thomason (grinliz) 8a0975dfa7 minor warning fix 2012-03-31 20:09:20 -07:00
Guillermo A. Amaral 9a6c6b84a1 Tackled more Clang analyzer warnings. 2012-03-24 17:13:25 -07:00
Lee Thomason 8ba7f7d69b Added the improved attribute query 2012-03-24 13:04:04 -07:00
Lee Thomason 7f7b162b6f Add warning for the working directory. Verify win64 fix. 2012-03-24 12:49:03 -07:00
Lee Thomason 5ce8941553 a few formatting changes 2012-03-20 13:23:44 -07:00
Guillermo A. Amaral 2eb7003763 Misc adjustments and enum rename
Updated to use C++ headers
Fixed MSVC2010 collision
Added Makefile for xmltest (unix)
2012-03-20 11:51:40 -07:00
Lee Thomason 4de93471f8 Apply a fix from DoDoEnt for 64 bit linux systems where var args would crash 2012-03-13 17:33:35 -07:00
Lee Thomason (grinliz) 7ca5558bca removed the pointer-diff 2012-03-07 21:54:57 -08:00
Lee Thomason 6f381b7739 Added performance test and option to leave entities 2012-03-02 12:59:39 -08:00
Lee Thomason 7d00b9ab95 Patching up incorrect boilerplate code. Added clone/equal methods. 2012-02-27 17:54:22 -08:00
Lee Thomason (grinliz) 5ce4d97945 fix deprecation function mess 2012-02-26 21:14:23 -08:00
Lee Thomason (grinliz) 9b093cc1ee Test on gcc. Fix warning. Fix uneeded params. Up VS debug to level 4 and fix warnings. 2012-02-25 21:30:18 -08:00
Lee Thomason (grinliz) 2812986e93 a bunch of readme fixes 2012-02-25 21:11:20 -08:00
Lee Thomason (grinliz) 9c38d138ff license and readme 2012-02-24 21:50:50 -08:00
Lee Thomason (grinliz) 2a1cd27732 added a bunch of comments in 2012-02-24 17:37:53 -08:00
Lee Thomason (grinliz) 784607f31d another round on the element parsing. Test case passes. 2012-02-24 16:23:40 -08:00
Lee Thomason (grinliz) 7468f11413 better end element parsing 2012-02-24 08:56:50 -08:00
Lee Thomason (grinliz) 46a14cfec7 new element loop 2012-02-23 22:27:28 -08:00
Lee Thomason d627776dd3 The rest of the test cases. Some bugs, but should be a complete set. 2012-02-22 16:00:12 -08:00
Lee Thomason (grinliz) 68db57e452 UTF-8 tests passing. 2012-02-21 09:08:12 -08:00
Lee Thomason (grinliz) bd0a8ac60c Dream test passing. 2012-02-20 20:14:33 -08:00
U-Stream\Lee ae25a44d94 print to memory support 2012-02-17 17:48:16 -08:00
U-Stream\Lee 09a11c5964 test cases. Working out attribute interface. 2012-02-17 08:31:16 -08:00
Lee Thomason 1a1d4a72dd added attribute handling. StrPair can now new/delete memory. 2012-02-15 09:09:25 -08:00
Lee Thomason 1ff38e0a5c working with attributes. adding missing methods 2012-02-14 18:18:16 -08:00
Lee Thomason ec5a7b4d18 testing infrastructur 2012-02-13 18:16:52 -08:00
Lee Thomason e9ecdabf94 memory tracking 2012-02-13 18:11:20 -08:00
Lee Thomason 50adb4ca8e sync 2012-02-13 15:07:09 -08:00
Lee Thomason 50f97b2d06 added missing node types 2012-02-11 16:33:40 -08:00
Lee Thomason 751da529d9 adding a bunch of the api (which isn't yet hooked up.) 2012-02-10 08:50:51 -08:00
Lee Thomason 56bdd0259e improved the streamer interface so it doesn't require text parent. now possible to connect visitor and streamer. 2012-02-09 18:16:58 -08:00
Lee Thomason 43f59307cc integrated attributes into the placement new 2012-02-06 18:18:11 -08:00
Lee Thomason 455c9d4dd0 minor cleanup. 2012-02-06 09:14:14 -08:00
Lee Thomason d198322032 finally have the placement new working as desired. 2012-02-06 08:41:24 -08:00
Lee Thomason 2c85a711f1 more refactoring. cleaning out container classes. 2012-01-31 08:24:24 -08:00
Lee Thomason 1270ae58e4 cleaned up the memory 2012-01-27 17:58:30 -08:00
Lee Thomason 7c913cd6db more cleaning up the interface. 2012-01-26 18:32:34 -08:00
Lee Thomason 18d68bdf6b removed the char allocator. Started cleaning up the document code. 2012-01-26 18:17:26 -08:00
Lee Thomason 951d88394c entity output 2012-01-26 08:47:06 -08:00
Lee Thomason 857b868ca6 WIP. syncing machines. 2012-01-25 17:50:25 -08:00
Lee Thomason 8ee79897c0 added entity input support. 2012-01-25 17:44:30 -08:00
Lee Thomason 24767b05ab work on the streamer class. A little optimization to the string class. Formatting work. 2012-01-25 17:16:23 -08:00
Lee Thomason 5cae897775 pulled out streamer class. 2012-01-24 18:03:07 -08:00
Lee Thomason 67d6131d74 new element parsing. reasonable set of test cases. 2012-01-24 16:01:51 -08:00
Lee Thomason 5492a1c705 basic text support 2012-01-23 15:32:10 -08:00
Lee Thomason 22aead1c73 attribute support 2012-01-23 13:29:35 -08:00
Lee Thomason ec975cede8 iterate on parsing. 2012-01-23 11:42:06 -08:00
Lee Thomason d923c670fc fix double delete in xml element 2012-01-23 08:44:25 -08:00
Lee Thomason e4422304e0 refactored logic to use the StrPair. Still cleaning up bugs. 2012-01-20 17:59:50 -08:00
Lee Thomason d34f52c43b switching over to StrPair 2012-01-20 12:55:24 -08:00
Lee Thomason 39ede2487d reset name 2012-01-20 11:27:56 -08:00
Lee Thomason dadcdfad4a test cases in progress 2012-01-18 17:55:48 -08:00
Lee Thomason 8a5dfee8ce element and attribute code compiling 2012-01-18 17:43:40 -08:00
Lee Thomason fde6a756d1 another rev of text parsing. 2012-01-14 18:08:12 -08:00
Lee Thomason 85403d8935 hello,world working. Forgot how hard XML parsing can be. 2012-01-11 15:55:05 -08:00
Lee Thomason ce0763e34b And it compiles. 2012-01-11 15:43:54 -08:00
Lee Thomason 3f57d278e7 complete, not working, XMLComment parser. 2012-01-11 15:30:03 -08:00
U-Lama\Lee 4cee61104d basic structure in place. 2011-12-31 14:58:18 -08:00
U-Lama\Lee 560bd47842 initial thoughts 2011-12-28 19:42:49 -08:00
U-Lama\Lee e13c3e653d initial checkin 2011-12-28 14:36:55 -08:00