Merge pull request #353 from Dmitry-Me/unselessConst
Useless const
diff --git a/tinyxml2.cpp b/tinyxml2.cpp
index 6fbbf16..356a598 100755
--- a/tinyxml2.cpp
+++ b/tinyxml2.cpp
@@ -30,6 +30,72 @@
# include <cstddef>
#endif
+#if defined(_MSC_VER) && (_MSC_VER >= 1400 ) && (!defined WINCE)
+ // Microsoft visual studio, version 2005 and higher. Not WinCE.
+ /*int _snprintf_s(
+ char *buffer,
+ size_t sizeOfBuffer,
+ size_t count,
+ const char *format [,
+ argument] ...
+ );*/
+ inline int TIXML_SNPRINTF( char* buffer, size_t size, const char* format, ... )
+ {
+ va_list va;
+ va_start( va, format );
+ int result = vsnprintf_s( buffer, size, _TRUNCATE, format, va );
+ va_end( va );
+ return result;
+ }
+
+ inline int TIXML_VSNPRINTF( char* buffer, size_t size, const char* format, va_list va )
+ {
+ int result = vsnprintf_s( buffer, size, _TRUNCATE, format, va );
+ return result;
+ }
+
+ #define TIXML_VSCPRINTF _vscprintf
+ #define TIXML_SSCANF sscanf_s
+#elif defined _MSC_VER
+ // Microsoft Visual Studio 2003 and earlier or WinCE
+ #define TIXML_SNPRINTF _snprintf
+ #define TIXML_VSNPRINTF _vsnprintf
+ #define TIXML_SSCANF sscanf
+ #if (_MSC_VER < 1400 ) && (!defined WINCE)
+ // 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.
+ 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 ) {
+ len = required;
+ break;
+ }
+ }
+ return len;
+ }
+ #endif
+#else
+ // GCC version 3 and higher
+ //#warning( "Using sn* functions." )
+ #define TIXML_SNPRINTF snprintf
+ #define TIXML_VSNPRINTF vsnprintf
+ inline int TIXML_VSCPRINTF( const char* format, va_list va )
+ {
+ int len = vsnprintf( 0, 0, format, va );
+ return len;
+ }
+ #define TIXML_SSCANF sscanf
+#endif
+
+
static const char LINE_FEED = (char)0x0a; // all line endings are normalized to LF
static const char LF = LINE_FEED;
static const char CARRIAGE_RETURN = (char)0x0d; // CR gets filtered out
@@ -2038,39 +2104,13 @@
vfprintf( _fp, format, va );
}
else {
-#if defined(_MSC_VER) && (_MSC_VER >= 1400 )
- #if defined(WINCE)
- 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 ) {
- len = required;
- break;
- }
- }
- #else
- int len = _vscprintf( format, va );
- #endif
-#else
- int len = vsnprintf( 0, 0, format, va );
-#endif
+ int len = TIXML_VSCPRINTF( format, va );
// Close out and re-start the va-args
va_end( va );
va_start( va, format );
TIXMLASSERT( _buffer.Size() > 0 && _buffer[_buffer.Size() - 1] == 0 );
char* p = _buffer.PushArr( len ) - 1; // back up over the null terminator.
-#if defined(_MSC_VER) && (_MSC_VER >= 1400 )
- #if defined(WINCE)
- _vsnprintf( p, len+1, format, va );
- #else
- vsnprintf_s( p, len+1, _TRUNCATE, format, va );
- #endif
-#else
- vsnprintf( p, len+1, format, va );
-#endif
+ TIXML_VSNPRINTF( p, len+1, format, va );
}
va_end( va );
}
diff --git a/tinyxml2.h b/tinyxml2.h
index 21cc6b2..0b86006 100755
--- a/tinyxml2.h
+++ b/tinyxml2.h
@@ -91,34 +91,6 @@
#endif
-#if defined(_MSC_VER) && (_MSC_VER >= 1400 ) && (!defined WINCE)
-// Microsoft visual studio, version 2005 and higher.
-/*int _snprintf_s(
- char *buffer,
- size_t sizeOfBuffer,
- size_t count,
- const char *format [,
- argument] ...
-);*/
-inline int TIXML_SNPRINTF( char* buffer, size_t size, const char* format, ... )
-{
- va_list va;
- va_start( va, format );
- int result = vsnprintf_s( buffer, size, _TRUNCATE, format, va );
- va_end( va );
- return result;
-}
-#define TIXML_SSCANF sscanf_s
-#elif defined WINCE
-#define TIXML_SNPRINTF _snprintf
-#define TIXML_SSCANF sscanf
-#else
-// GCC version 3 and higher
-//#warning( "Using sn* functions." )
-#define TIXML_SNPRINTF snprintf
-#define TIXML_SSCANF sscanf
-#endif
-
/* Versioning, past 1.0.14:
http://semver.org/
*/
@@ -281,14 +253,17 @@
}
int Capacity() const {
+ TIXMLASSERT( _allocated >= INITIAL_SIZE );
return _allocated;
}
const T* Mem() const {
+ TIXMLASSERT( _mem );
return _mem;
}
T* Mem() {
+ TIXMLASSERT( _mem );
return _mem;
}