1
0
mirror of https://github.com/leethomason/tinyxml2.git synced 2026-07-22 19:52:59 +04:00

Compare commits

..

5 Commits

Author SHA1 Message Date
copilot-swe-agent[bot] a77e6a9e3f Initial plan 2025-11-22 23:56:12 +00:00
Lee Thomason 888bbb912a Merge branch 'MattHuangGarmin-master' into leethomason/fallthrough 2025-11-22 15:47:41 -08:00
Lee Thomason 9c09e46619 move to cpp file 2025-11-22 15:46:45 -08:00
Lee Thomason 6d6285b18a Merge branch 'master' of github.com:MattHuangGarmin/tinyxml2 into MattHuangGarmin-master 2025-11-22 15:44:05 -08:00
MattHuangGarmin be7b5a107f Fix GCC 4.9.3 Build Errors
Since GCC version 4.9.3 does not support the -Wimplicit-fallthrough warning option or the __attribute__((fallthrough)) annotation,
introduce the corresponding fixes to prevent build errors.
2025-11-04 14:40:21 +08:00
2 changed files with 34 additions and 16 deletions
+4 -4
View File
@@ -59,7 +59,7 @@ browsers or have more complete XML needs, TinyXML-2 is not the parser for you.
TinyXML-1 vs. TinyXML-2
-----------------------
TinyXML-2 has long been the focus of all development. It is well tested
TinyXML-2 long been the focus of all development. It is well tested
and should be used instead of TinyXML-1.
TinyXML-2 uses a similar API to TinyXML-1 and the same
@@ -145,7 +145,7 @@ It essentially causes the XML to be parsed twice.
For applications that need to know about text nodes that are composed entirely of
whitespace, PEDANTIC_WHITESPACE is available. PEDANTIC_WHITESPACE maintains all the
whitespace between elements.
whilespace between elements.
PEDANTIC_WHITESPACE is a new mode and not as tested as the other whitespace modes.
@@ -178,7 +178,7 @@ will have the Value() of "Far & Away" when queried from the XMLText object,
and will be written back to the XML stream/file as an ampersand.
Additionally, any character can be specified by its Unicode code point:
The syntax ` ` or ` ` both refer to the non-breaking space character.
The syntax ` ` or ` ` are both to the non-breaking space character.
This is called a 'numeric character reference'. Any numeric character reference
that isn't one of the special entities above, will be read, but written as a
regular code point. The output is correct, but the entity syntax isn't preserved.
@@ -270,7 +270,7 @@ tinyxml2.h files in your project and build with your other source code.
There is also a CMake build included. CMake is the general build for TinyXML-2.
(Additional build systems are costly to maintain, and tend to become outdated. They are
(Additional build systems are costly to maintain, and tend to bit-rot. They are
being removed over time.)
Building TinyXML-2 - Using vcpkg
+30 -12
View File
@@ -36,20 +36,38 @@ distribution.
#ifndef __has_attribute
# define __has_attribute(x) 0
#endif
#ifndef __has_cpp_attribute
# define __has_cpp_attribute(x) 0
#ifdef __cplusplus
# ifndef __has_cpp_attribute
# define __has_cpp_attribute(x) 0
# endif
#else
# ifndef __has_c_attribute
# define __has_c_attribute(x) 0
# endif
#endif
#if defined(_MSC_VER)
# define TIXML_FALLTHROUGH (void(0))
#elif (__cplusplus >= 201703L && __has_cpp_attribute(fallthrough))
# define TIXML_FALLTHROUGH [[fallthrough]]
#elif __has_cpp_attribute(clang::fallthrough)
# define TIXML_FALLTHROUGH [[clang::fallthrough]]
#elif __has_attribute(fallthrough)
# define TIXML_FALLTHROUGH __attribute__((fallthrough))
#ifdef __cplusplus
# if defined(_MSC_VER)
# define TIXML_FALLTHROUGH (void(0))
# elif (__cplusplus >= 201703L && __has_cpp_attribute(fallthrough))
# define TIXML_FALLTHROUGH [[fallthrough]]
# elif __has_cpp_attribute(clang::fallthrough)
# define TIXML_FALLTHROUGH [[clang::fallthrough]]
# elif __has_attribute(fallthrough)
# define TIXML_FALLTHROUGH __attribute__((fallthrough))
# else
# define TIXML_FALLTHROUGH (void(0))
# endif
#else
# define TIXML_FALLTHROUGH (void(0))
# if defined(_MSC_VER)
# define TIXML_FALLTHROUGH (void(0))
# elif __has_c_attribute(fallthrough)
# define TIXML_FALLTHROUGH [[fallthrough]]
# elif __has_attribute(fallthrough)
# define TIXML_FALLTHROUGH __attribute__((fallthrough))
# else
# define TIXML_FALLTHROUGH (void(0))
# endif
#endif
@@ -2656,7 +2674,7 @@ void XMLPrinter::Write( const char* data, size_t size )
fwrite ( data , sizeof(char), size, _fp);
}
else {
char* p = _buffer.PushArr( size ) - 1; // back up over the null terminator.
char* p = _buffer.PushArr( static_cast<int>(size) ) - 1; // back up over the null terminator.
memcpy( p, data, size );
p[size] = 0;
}