fix error string memory errors
diff --git a/tinyxml2.h b/tinyxml2.h
index 4fe2ab5..4379f01 100755
--- a/tinyxml2.h
+++ b/tinyxml2.h
@@ -127,12 +127,12 @@
NEEDS_NEWLINE_NORMALIZATION = 0x02,
NEEDS_WHITESPACE_COLLAPSING = 0x04,
- TEXT_ELEMENT = NEEDS_ENTITY_PROCESSING | NEEDS_NEWLINE_NORMALIZATION,
+ TEXT_ELEMENT = NEEDS_ENTITY_PROCESSING | NEEDS_NEWLINE_NORMALIZATION,
TEXT_ELEMENT_LEAVE_ENTITIES = NEEDS_NEWLINE_NORMALIZATION,
- ATTRIBUTE_NAME = 0,
- ATTRIBUTE_VALUE = NEEDS_ENTITY_PROCESSING | NEEDS_NEWLINE_NORMALIZATION,
- ATTRIBUTE_VALUE_LEAVE_ENTITIES = NEEDS_NEWLINE_NORMALIZATION,
- COMMENT = NEEDS_NEWLINE_NORMALIZATION
+ ATTRIBUTE_NAME = 0,
+ ATTRIBUTE_VALUE = NEEDS_ENTITY_PROCESSING | NEEDS_NEWLINE_NORMALIZATION,
+ ATTRIBUTE_VALUE_LEAVE_ENTITIES = NEEDS_NEWLINE_NORMALIZATION,
+ COMMENT = NEEDS_NEWLINE_NORMALIZATION
};
StrPair() : _flags( 0 ), _start( 0 ), _end( 0 ) {}
@@ -164,9 +164,9 @@
char* ParseName( char* in );
void TransferTo( StrPair* other );
+ void Reset();
private:
- void Reset();
void CollapseWhitespace();
enum {
@@ -1759,11 +1759,11 @@
/// Return a possibly helpful diagnostic location or string.
const char* GetErrorStr1() const {
- return _errorStr1;
+ return _errorStr1.GetStr();
}
/// Return a possibly helpful secondary diagnostic location or string.
const char* GetErrorStr2() const {
- return _errorStr2;
+ return _errorStr2.GetStr();
}
/// If there is an error, print it to stdout.
void PrintError() const;
@@ -1789,8 +1789,8 @@
bool _processEntities;
XMLError _errorID;
Whitespace _whitespace;
- const char* _errorStr1;
- const char* _errorStr2;
+ mutable StrPair _errorStr1;
+ mutable StrPair _errorStr2;
char* _charBuffer;
MemPoolT< sizeof(XMLElement) > _elementPool;