1207 Commits

Author SHA1 Message Date
Lee Thomason
098eb37398 Merge branch 'master' of github.com:leethomason/tinyxml2 2020-06-13 17:46:53 -07:00
Lee Thomason
8812f197ac make printer functions virtual 2020-06-13 17:46:44 -07:00
Lee Thomason
6b7effe541 Merge pull request #812 from amai2012/master
Add github action
2020-06-13 17:40:45 -07:00
Lee Thomason
1578df3bf8 Merge pull request #811 from hyperair/fix-first-line-indentation
XMLPrinter: Fix first line indentation
2020-06-13 17:38:20 -07:00
Lee Thomason
98ca9146b4 Merge branch 'netcan-master' 2020-06-13 17:35:35 -07:00
Lee Thomason
18468b8cc4 minor changes to hex parsing 2020-06-13 17:35:21 -07:00
Lee Thomason
c9c9d8cdfa Merge branch 'master' of https://github.com/netcan/tinyxml2 into netcan-master 2020-06-13 17:26:30 -07:00
Owen Rudge
b341e66e3c cmake: Don't export symbols if building static library 2020-06-01 14:57:53 +01:00
a-lunkov
a953b9565d Suppress UndefinedBehaviorSanitizer warnings
I compiled tinyxml2 with the following changes to CMakeLists.txt:
-------------------------------------------------- ------------------------------------------
set (CMAKE_C_COMPILER "/ usr / local / bin / clang10")
set (CMAKE_CXX_COMPILER "/ usr / local / bin / clang ++ 10")
add_compile_options (-g)
add_compile_options (-fsanitize = address, undefined, integer, alignment, bool, builtin, bounds, enum, function, nonnull-attribute, null, object-size, pointer-overflow, return, returns-nonnull-attribute, unreachable, vla-bound , vptr)

set_source_files_properties (tinyxml2.cpp tinyxml2.h
                            PROPERTIES COMPILE_FLAGS -fsanitize = address, undefined, integer, alignment, bool, builtin, bounds, enum, function, nonnull-attribute, null, object-size, pointer-overflow, return, returns-nonnull-attribute, unreachable, vla-bound , vptr)
TARGET_LINK_LIBRARIES (tinyxml2 /usr/local/llvm10/lib/clang/10.0.0/lib/freebsd/libclang_rt.asan-x86_64.a /usr/local/llvm10/lib/clang/10.0.0/lib/freebsd/libang asan_cxx-x86_64.a /usr/local/llvm10/lib/clang/10.0.0/lib/freebsd/libclang_rt.ubsan_standalone-x86_64.a /usr/local/llvm10/lib/clang/10.0.0/lib/freebsd/ libclang_rt.ubsan_standalone_cxx-x86_64.a -lpthread)
-------------------------------------------------- ------------------------------------------
(Sorry for the dirty code.)

And launched the xmltest utility:
-------------------------------------------------- ------------------------------------------
/home/qqq/17_tinyxml2/tinyxml2-master/tinyxml2.cpp:237:37: runtime error: implicit conversion from type 'char' of value -48 (8-bit, signed) to type 'unsigned char' changed the value to 208 (8-bit, unsigned)
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /home/qqq/17_tinyxml2/tinyxml2-master/tinyxml2.cpp:237:37 in
/home/qqq/17_tinyxml2/tinyxml2-master/tinyxml2.cpp:243:40: runtime error: implicit conversion from type 'char' of value -96 (8-bit, signed) to type 'unsigned char' changed the value to 160 (8-bit, unsigned)
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /home/qqq/17_tinyxml2/tinyxml2-master/tinyxml2.cpp:243:40 in
/home/qqq/17_tinyxml2/tinyxml2-master/tinyxml2.cpp:1912:39: runtime error: implicit conversion from type 'char' of value -48 (8-bit, signed) to type 'unsigned char' changed the value to 208 (8-bit, unsigned)
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /home/qqq/17_tinyxml2/tinyxml2-master/tinyxml2.cpp:1912:39 in
-------------------------------------------------- ------------------------------------------
2020-05-13 18:24:08 +03:00
a-lunkov
ba02706e65 Merge pull request #1 from leethomason/master
Switch to master
2020-05-13 18:22:41 +03:00
amai2012
eefc07a739 Rename action 2020-04-23 14:57:35 +02:00
amai2012
064d90da13 Try to install 2020-04-23 14:56:08 +02:00
amai2012
dcc28da4c8 Add macos-latest 2020-04-15 10:45:52 +02:00
amai2012
e3abe1bd0a Remove distcheck 2020-04-14 20:14:05 +02:00
amai2012
e120ee328e Add github action
Run make on ubuntu latest
2020-04-14 20:12:05 +02:00
Lee Thomason
bfbcc0333d Merge pull request #809 from a-lunkov/patch-1
Fix for build with FreeBSD
2020-03-31 15:09:26 -07:00
Lee Thomason
99db0247d6 Merge pull request #807 from jsenn/sharpen-ftell-ifdef
Sharpened check for 64-bit Unix when defining fseek/ftell macros.
2020-03-31 15:08:42 -07:00
Chow Loong Jin
6a514399c2 XMLPrinter: Fix first line indentation
Fix indentation of first line when called with !compactMode.
2020-03-26 17:04:41 +08:00
a-lunkov
63fb154ad3 Update tinyxml2.cpp 2020-03-24 14:30:52 +03:00
John Senneker
1fdee25d11 Sharpened check for 64-bit Unix when defining fseek/ftell macros.
This fixes the issues with VxWorks, as mentioned by @razr in #786.
2020-03-17 14:11:25 -04:00
Lee Thomason
bd5950bb02 Merge pull request #798 from DanRStevens/removeCleanBeforeTest
Remove `clean` before `test` or `check`
2020-03-10 14:28:21 -07:00
Lee Thomason
67271b1fd2 Merge pull request #787 from jsenn/feature/large-file-support
Added support for files larger than ~2GB
2020-03-10 14:21:04 -07:00
John Senneker
a9f29b74d9 Fixed warning caused by sloppy conversion between signed/unsigned types.
Also, the comparison between size_t max and the actual file size is done
as an unsigned long long, since that type is guaranteed to be at least
64 bits, even on a 32-bit architecture.
2020-03-02 11:04:57 -05:00
netcan
dfb45cb73b support IntText(),UnsignedText(),Int64Text() for hex value 2020-03-02 22:26:03 +08:00
Lee Thomason
bf15233ad8 Setting the version to 8.0.0 8.0.0 2020-03-01 17:40:07 -08:00
Lee Thomason
8504195843 fix vs version 2020-03-01 17:23:36 -08:00
Lee Thomason
8db004b74c Merge pull request #802 from LilyWangL/vcpkg-instructions
Add vcpkg installation instructions
2020-03-01 17:20:53 -08:00
Lee Thomason
3d6a5477a7 Merge pull request #797 from DanRStevens/gitIgnoreLinux
Add Makefile outputs to .gitignore
2020-03-01 17:12:24 -08:00
Lee Thomason
bbbb8c9a90 Merge branch 'master' of github.com:leethomason/tinyxml2 2020-03-01 17:11:07 -08:00
Lee Thomason
e444268103 add convenience methods 2020-03-01 17:10:38 -08:00
Lee Thomason
6ac05b2b9a Merge branch 'push' of https://github.com/ngc92/tinyxml2 into ngc92-push 2020-03-01 17:01:33 -08:00
Lee Thomason
655b15c078 Merge pull request #781 from daniel347x/patch-1
Change constants used in 'ToBool' to support MSVC
2020-03-01 16:53:40 -08:00
Lee Thomason
59b01033f3 Merge branch 'Alanscut-tinyxml2_addtestcase' 2020-03-01 16:53:00 -08:00
Lee Thomason
37ccc71008 fix some casting 2020-03-01 16:52:42 -08:00
Lee Thomason
3574d3e22f Merge branch 'tinyxml2_addtestcase' of https://github.com/Alanscut/tinyxml2 into Alanscut-tinyxml2_addtestcase 2020-03-01 16:49:10 -08:00
Lee Thomason
de62366e6a Merge branch 'master' of github.com:leethomason/tinyxml2 2020-03-01 16:47:26 -08:00
Lee Thomason
20f2d5eec7 Merge pull request #773 from Alanscut/fix_issue712
fix issue#712
2020-03-01 16:47:19 -08:00
Lee Thomason
a9c28ce3e3 Merge pull request #768 from Alanscut/fix_wrong_symbol
Fix wrong symbol in comment
2020-03-01 16:46:48 -08:00
Lee Thomason
2c642bf25e update to visstudio 2019 2020-03-01 16:46:30 -08:00
Lee Thomason
f4520c9905 Merge pull request #762 from orbitcowboy/master
Improved const correctness. There are no functional changes intended.
2020-03-01 16:42:35 -08:00
wangli28
1eb8a3f765 Add vcpkg installation instructions 2020-02-16 04:43:09 +00:00
Daniel Stevens
22e5db1402 Remove clean before test or check
The `clean` doesn't appear to serve a purpose. Make already does
dependency tracking, so if files are out of date they will be rebuilt.

The `clean` rule does however cause problems when the test executable
already exists. In that case it will delete outputs, including the test
executable, and then fail. By the time the test executable was deleted,
it was already determined that it was up to date, and so does not get
rebuilt. You end up having to run the command twice, each time seesawing
between deleting outputs or generating outputs and running the tests.
2020-02-04 03:50:07 -07:00
Daniel Stevens
d09f879ada Add Makefile outputs to .gitignore 2020-02-04 03:05:01 -07:00
Mark Mossberg
60e96163ca cmake: Move TARGETS_EXPORT_NAME to top 2019-12-03 22:35:33 +00:00
Mark Mossberg
588c6577dd cmake: Clarify comment around exported cmake script
The `export()` command purely exports a cmake script into the build
directory; it is not related to find_package at all. It is technically
not necessary. The main use case would be a user copying it into their
internal cmake/ dir in their project, and then using `include()`'ing
that file in their cmake.

The `install(EXPORT...` command is what actually generates a cmake
module that is put on the filesystem in a location that can be found by
`find_package` when in config mode.
2019-12-03 22:27:03 +00:00
Mark Mossberg
57cd52b046 cmake: Use TARGETS_EXPORT_NAME var throughout file
Previously, it was totally unused.
2019-12-03 17:11:43 -05:00
Mark Mossberg
e86e947cb2 cmake: Use CMAKE_PROJECT_NAME instead of PROJECT_NAME
This is consistent with other usages of the file.
PROJECT_NAME is only useful if there are subprojects, and there
aren't any here.
2019-12-03 17:09:24 -05:00
ngc92
e620245043 PushNewChild* family of convenience functions 2019-12-03 16:25:53 +01:00
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