Commit Graph

387 Commits

Author SHA1 Message Date
John Senneker
d58436c4bd Fixed bug caused by type checking code in LoadFile.
Since the file offset is now represented in all cases as a `long long`,
the previous check comparing the sizes of `unsigned long` and `size_t`
no longer makes sense.
2019-11-19 11:40:43 -05:00
John Senneker
bf59a2d4c8 Added support for files larger than ~2GB.
This implements #786.

TinyXML reads the entire file into a pre-allocated buffer in memory. To
get the buffer size, it uses `fseek()` to seek to the end of the file,
and `ftell()` to get the current byte offset. But because `ftell()`
returns a 32-bit signed value, it can only represent byte offsets, hence
file sizes, up to about 2GB.

To get around this, `fseek` and `ftell` have been replaced by the
`TIXML_FSEEK` and `TIXML_FTELL` macros, respectively, which will resolve
to 64-bit versions of these functions on platforms that have them.
2019-11-19 11:00:52 -05:00
Lee Thomason
5bf58f0d1f Merge pull request #753 from orbitcowboy/master
Fixed -Wold-style-cast warnings from g++.
2019-08-10 17:53:39 -07:00
Lee Thomason
c3601c62f6 Merge branch 'cugone-master' 2019-08-10 17:50:53 -07:00
Lee Thomason
effdf95f8c add test cases 2019-08-10 17:49:42 -07:00
Lee Thomason
7fd646a8a2 support more bool options 2019-08-10 17:40:19 -07:00
aaronkirkham07@gmail.com
c341cea501 add missing uint64_t methods to XMLPrinter
add missing XMLElement::Unsigned64Attribute body
2019-05-22 00:05:27 +01:00
orbitcowboy
710a3324f4 Fixed -Wold-style-cast warnings from g++. 2019-05-16 15:30:47 +02:00
cugone
1dbfe31858 Missing uint64_t XMLElement::Unsigned64Text(uint64_t defaultValue) implementation 2019-04-12 17:33:49 -05:00
cugone
47e229e189 Forgot Text and XMLElement versions; 2019-04-12 17:27:28 -05:00
cugone
75a5acc6bb UnsignedInt64 support 2019-04-11 22:03:43 -05:00
orbitcowboy
0e7f289590 Improved const correctness of local variables. There are no functional changes intended. 2019-01-15 11:28:49 +01:00
Lee Thomason
db13a82e62 fix huge number of declaration security issue 2018-07-28 14:56:20 -07:00
Lee Thomason
92fc089e17 remove deprecated errors. next version will be major. 2018-06-29 15:51:37 -07:00
Lee Thomason
30d0c3d5f2 add assertion 2018-06-29 15:47:37 -07:00
Derek Quam
be69ae6352 In PrintString, move the optimization under the if ( _processEntities ) block and retain the strlen Write in the new else block. Added a test case. 2018-04-18 13:40:55 -05:00
Lee Thomason
befc3c3ae7 fix compiler inconsistency 2018-04-05 15:53:14 -07:00
Lee Thomason
f928c35186 clean up the depth tracking a bit 2018-04-05 09:24:20 -07:00
Lee Thomason
d946ddadc2 upgrade to vs2017. fix stack overflow attack. 2018-04-05 09:11:08 -07:00
Gumichan01
0f1fa6d271 fix "dereference before null check" defect
See issue #654
2018-02-01 14:27:43 +01:00
Peter Matula
50689919b7 rename DEBUG define to TINYXML2_DEBUG
The original name is to general. This prevents possible name collisions with other defines, enums, etc. from projects where tinyxml2 is used.
2018-01-09 12:52:26 +01:00
Lee Thomason
ff97dbb2cc Merge branch 'master' into error-str 2017-12-29 09:11:27 -08:00
Lee Thomason
a36f7ac776 fix error string output when there is no formatting 2017-12-28 13:48:54 -08:00
Alex Alabuzhev
90e69c95ef Suppress MSVC warning C4267: conversion from 'size_t' to 'int', possible loss of data 2017-11-09 00:33:05 +00:00
Lee Thomason
d548b7e717 Merge branch 'master' into errorstr 2017-11-01 07:52:46 -07:00
Lee Thomason
eb2f51e63b removed unused variables 2017-11-01 07:52:43 -07:00
Brad Anderson
85aac02172 Minor performance tweaks 2017-10-24 21:48:28 -06:00
Alexander Golubev
b2e08e4bc0 XMLPrinter optimization
Stream writing to buffer will be x5 faster
2017-10-24 17:31:33 -06:00
Lee Thomason
0c0f98bf84 merge from master 2017-10-11 11:03:49 -07:00
Lee Thomason
d556e6df9d Merge branch 'master' into errorstr 2017-10-11 10:57:52 -07:00
Lee Thomason
f49b9658bb fix up error system issues 2017-10-11 10:57:49 -07:00
Lee Thomason
714ccfe29b fix line number tracker. error msg wip 2017-10-10 17:08:12 -07:00
Lee Thomason
7abfa6b1a0 Merge branch 'gccWeffc' of git://github.com/lelegard/tinyxml2 into lelegard-gccWeffc 2017-10-10 16:33:58 -07:00
Lee Thomason
aa1883928b Error string re-work 2017-09-19 17:54:31 -07:00
Dmitry-Me
e8f4a8b567 Fix crash when element is being inserted "after itself" 2017-09-15 19:34:36 +03:00
Thierry Lelegard
7f0f754cb7 Code cleanup to pass gcc -Weffc++ warnings 2017-09-01 10:14:16 +02:00
Dmitry-Me
a28eb0763d Extract and reuse conversion code 2017-08-25 18:34:18 +03:00
Shuichiro Suzuki
87cd4e0582 Add 'const' on XMLDocument::DeepCopy. This make us copy const
XMLDocument being copied to another document.
2017-08-24 11:20:26 +09:00
Dmitry-Me
3cc6f5c6f2 Annotate fall throughs with comments 2017-08-03 18:42:20 +03:00
Lee Thomason
8c9e3133c4 remove error string inline. hopefully helps with odd linking issues 2017-06-26 16:55:01 -07:00
Lee Thomason
8bba8b41d6 mark unused enums 2017-06-20 09:18:41 -07:00
Lee Thomason
9201bb96d3 Merge pull request #563 from Dmitry-Me/betterParameterNameInClone
Better parameter name
2017-06-19 14:23:39 -07:00
Dmitry-Me
3f63f21cf5 Better parameter name 2017-06-19 18:25:19 +03:00
Lee Thomason
8a763619ac fix incorrect factoring 2017-06-16 09:30:16 -07:00
Lee Thomason
bc527554e8 Merge pull request #558 from leethomason/clone
Support clone (deep copy) of XMLDocument and XMLNode
2017-06-15 12:01:48 -07:00
Dmitry-Me
c2f677b05e Unlinked nodes assertions 2017-06-15 12:44:27 +03:00
Lee Thomason
1346a174ae tweak comments. fix copy to self case. 2017-06-14 15:14:19 -07:00
Lee Thomason
1bbc66b193 Merge branch 'master' into clone 2017-06-14 15:10:37 -07:00
Lee Thomason
b754ddf0fb address feedback from review 2017-06-14 15:02:38 -07:00
Lee Thomason
816d3fa0cd Fix string leaking (and destructors not getting called) when there are XMLNodes that aren't in the document tree 2017-06-05 14:35:55 -07:00