1
0
mirror of https://github.com/leethomason/tinyxml2.git synced 2026-07-29 15:13:01 +04:00

Compare commits

...

3 Commits

Author SHA1 Message Date
Lee Thomason b2dea344ad remove dead platforms 2026-03-09 17:52:37 -07:00
Lee Thomason 111f462dc4 remove old comments 2026-03-09 17:41:19 -07:00
Lee Thomason 3324d04d58 minor readme fixes (#1054) 2025-11-22 16:26:53 -08:00
3 changed files with 14 additions and 56 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-1 vs. TinyXML-2
----------------------- -----------------------
TinyXML-2 long been the focus of all development. It is well tested TinyXML-2 has long been the focus of all development. It is well tested
and should be used instead of TinyXML-1. and should be used instead of TinyXML-1.
TinyXML-2 uses a similar API to TinyXML-1 and the same 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 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, PEDANTIC_WHITESPACE is available. PEDANTIC_WHITESPACE maintains all the
whilespace between elements. whitespace between elements.
PEDANTIC_WHITESPACE is a new mode and not as tested as the other whitespace modes. 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. and will be written back to the XML stream/file as an ampersand.
Additionally, any character can be specified by its Unicode code point: Additionally, any character can be specified by its Unicode code point:
The syntax ` ` or ` ` are both to the non-breaking space character. The syntax ` ` or ` ` both refer to the non-breaking space character.
This is called a 'numeric character reference'. Any numeric character reference 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 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. 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. 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 bit-rot. They are (Additional build systems are costly to maintain, and tend to become outdated. They are
being removed over time.) being removed over time.)
Building TinyXML-2 - Using vcpkg Building TinyXML-2 - Using vcpkg
+9 -40
View File
@@ -24,7 +24,7 @@ distribution.
#include "tinyxml2.h" #include "tinyxml2.h"
#include <new> // yes, this one new style header, is in the Android SDK. #include <new> // yes, this one new style header, is in the Android SDK.
#if defined(ANDROID_NDK) || defined(__BORLANDC__) || defined(__QNXNTO__) || defined(__CC_ARM) #if defined(ANDROID_NDK)
# include <stddef.h> # include <stddef.h>
# include <stdarg.h> # include <stdarg.h>
#else #else
@@ -40,9 +40,7 @@ distribution.
# define __has_cpp_attribute(x) 0 # define __has_cpp_attribute(x) 0
#endif #endif
#if defined(_MSC_VER) #if (__cplusplus >= 201703L && __has_cpp_attribute(fallthrough))
# define TIXML_FALLTHROUGH (void(0))
#elif (__cplusplus >= 201703L && __has_cpp_attribute(fallthrough))
# define TIXML_FALLTHROUGH [[fallthrough]] # define TIXML_FALLTHROUGH [[fallthrough]]
#elif __has_cpp_attribute(clang::fallthrough) #elif __has_cpp_attribute(clang::fallthrough)
# define TIXML_FALLTHROUGH [[clang::fallthrough]] # define TIXML_FALLTHROUGH [[clang::fallthrough]]
@@ -53,15 +51,8 @@ distribution.
#endif #endif
#if defined(_MSC_VER) && (_MSC_VER >= 1400 ) && (!defined WINCE) #if defined(_MSC_VER) && (_MSC_VER >= 1400)
// Microsoft Visual Studio, version 2005 and higher. Not WinCE. // Microsoft Visual Studio, version 2005 and higher.
/*int _snprintf_s(
char *buffer,
size_t sizeOfBuffer,
size_t count,
const char *format [,
argument] ...
);*/
static inline int TIXML_SNPRINTF( char* buffer, size_t size, const char* format, ... ) static inline int TIXML_SNPRINTF( char* buffer, size_t size, const char* format, ... )
{ {
va_list va; va_list va;
@@ -80,33 +71,11 @@ distribution.
#define TIXML_VSCPRINTF _vscprintf #define TIXML_VSCPRINTF _vscprintf
#define TIXML_SSCANF sscanf_s #define TIXML_SSCANF sscanf_s
#elif defined _MSC_VER #elif defined _MSC_VER
// Microsoft Visual Studio 2003 and earlier or WinCE // Microsoft Visual Studio 2003 and earlier.
#define TIXML_SNPRINTF _snprintf #define TIXML_SNPRINTF _snprintf
#define TIXML_VSNPRINTF _vsnprintf #define TIXML_VSNPRINTF _vsnprintf
#define TIXML_SSCANF sscanf #define TIXML_SSCANF sscanf
#if (_MSC_VER < 1400 ) && (!defined WINCE) #define TIXML_VSCPRINTF _vscprintf
// Microsoft Visual Studio 2003 and not WinCE.
#define TIXML_VSCPRINTF _vscprintf // VS2003's C runtime has this, but VC6 C runtime or WinCE SDK doesn't have.
#else
// Microsoft Visual Studio 2003 and earlier or WinCE.
static inline int TIXML_VSCPRINTF( const char* format, va_list va )
{
int len = 512;
for (;;) {
len = len*2;
char* str = new char[len]();
const int required = _vsnprintf(str, len, format, va);
delete[] str;
if ( required != -1 ) {
TIXMLASSERT( required >= 0 );
len = required;
break;
}
}
TIXMLASSERT( len >= 0 );
return len;
}
#endif
#else #else
// GCC version 3 and higher // GCC version 3 and higher
//#warning( "Using sn* functions." ) //#warning( "Using sn* functions." )
@@ -121,7 +90,7 @@ distribution.
#define TIXML_SSCANF sscanf #define TIXML_SSCANF sscanf
#endif #endif
#if defined(_WIN64) #if defined(_MSC_VER)
#define TIXML_FSEEK _fseeki64 #define TIXML_FSEEK _fseeki64
#define TIXML_FTELL _ftelli64 #define TIXML_FTELL _ftelli64
#elif defined(__APPLE__) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__DragonFly__) || defined(__CYGWIN__) #elif defined(__APPLE__) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__DragonFly__) || defined(__CYGWIN__)
@@ -2257,7 +2226,7 @@ void XMLDocument::Clear()
delete [] _charBuffer; delete [] _charBuffer;
_charBuffer = 0; _charBuffer = 0;
_parsingDepth = 0; _parsingDepth = 0;
#if 0 #if 0
_textPool.Trace( "text" ); _textPool.Trace( "text" );
_elementPool.Trace( "element" ); _elementPool.Trace( "element" );
@@ -2332,7 +2301,7 @@ static FILE* callfopen( const char* filepath, const char* mode )
{ {
TIXMLASSERT( filepath ); TIXMLASSERT( filepath );
TIXMLASSERT( mode ); TIXMLASSERT( mode );
#if defined(_MSC_VER) && (_MSC_VER >= 1400 ) && (!defined WINCE) #if defined(_MSC_VER) && (_MSC_VER >= 1400)
FILE* fp = 0; FILE* fp = 0;
const errno_t err = fopen_s( &fp, filepath, mode ); const errno_t err = fopen_s( &fp, filepath, mode );
if ( err ) { if ( err ) {
+1 -12
View File
@@ -24,15 +24,12 @@ distribution.
#ifndef TINYXML2_INCLUDED #ifndef TINYXML2_INCLUDED
#define TINYXML2_INCLUDED #define TINYXML2_INCLUDED
#if defined(ANDROID_NDK) || defined(__BORLANDC__) || defined(__QNXNTO__) #if defined(ANDROID_NDK)
# include <ctype.h> # include <ctype.h>
# include <limits.h> # include <limits.h>
# include <stdio.h> # include <stdio.h>
# include <stdlib.h> # include <stdlib.h>
# include <string.h> # include <string.h>
# if defined(__PS3__)
# include <stddef.h>
# endif
#else #else
# include <cctype> # include <cctype>
# include <climits> # include <climits>
@@ -42,14 +39,6 @@ distribution.
#endif #endif
#include <stdint.h> #include <stdint.h>
/*
gcc:
g++ -Wall -DTINYXML2_DEBUG tinyxml2.cpp xmltest.cpp -o gccxmltest.exe
Formatting, Artistic Style:
AStyle.exe --style=1tbs --indent-switches --break-closing-brackets --indent-preprocessor tinyxml2.cpp tinyxml2.h
*/
#if defined( _DEBUG ) || defined (__DEBUG__) #if defined( _DEBUG ) || defined (__DEBUG__)
# ifndef TINYXML2_DEBUG # ifndef TINYXML2_DEBUG
# define TINYXML2_DEBUG # define TINYXML2_DEBUG