removed the pointer-diff
diff --git a/tinyxml2.h b/tinyxml2.h
index cbbba3b..cf4250b 100644
--- a/tinyxml2.h
+++ b/tinyxml2.h
@@ -36,6 +36,7 @@
 */

 /*

 	gcc: g++ -Wall tinyxml2.cpp xmltest.cpp -o gccxmltest.exe

+

 */

 

 #if defined( _DEBUG ) || defined( DEBUG ) || defined (__DEBUG__)

@@ -84,6 +85,9 @@
 	#define TIXML_SSCANF   sscanf

 #endif

 

+static const int TIXML2_MAJOR_VERSION = 0;

+static const int TIXML2_MINOR_VERSION = 9;

+static const int TIXML2_PATCH_VERSION = 0;

 

 namespace tinyxml2

 {

@@ -112,8 +116,10 @@
 		NEEDS_NEWLINE_NORMALIZATION		= 0x02,

 

 		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,

 	};

 

@@ -801,7 +807,7 @@
 	void operator=( const XMLAttribute& );	// not supported

 	void SetName( const char* name );

 

-	char* ParseDeep( char* p );

+	char* ParseDeep( char* p, bool processEntities );

 

 	mutable StrPair name;

 	mutable StrPair value;

@@ -959,7 +965,7 @@
 	friend class XMLElement;

 public:

 	/// constructor

-	XMLDocument(); 

+	XMLDocument( bool processEntities = true ); 

 	~XMLDocument();

 

 	virtual XMLDocument* ToDocument()				{ return this; }

@@ -990,6 +996,11 @@
 	*/

 	void SaveFile( const char* filename );

 

+	bool ProcessEntities() const						{ return processEntities; }

+

+	/**

+		Returns true if this document has a leading Byte Order Mark of UTF8.

+	*/

 	bool HasBOM() const { return writeBOM; }

 

 	/** Return the root element of DOM. Equivalent to FirstChildElement().

@@ -1068,8 +1079,8 @@
 	// internal

 	char* Identify( char* p, XMLNode** node );

 

-	virtual XMLNode* ShallowClone( XMLDocument* ) const	{ return 0; }

-	virtual bool ShallowEqual( const XMLNode* ) const	{ return false; }

+	virtual XMLNode* ShallowClone( XMLDocument* /*document*/ ) const	{ return 0; }

+	virtual bool ShallowEqual( const XMLNode* /*compare*/ ) const	{ return false; }

 

 private:

 	XMLDocument( const XMLDocument& );	// not supported

@@ -1077,6 +1088,7 @@
 	void InitDocument();

 

 	bool writeBOM;

+	bool processEntities;

 	int errorID;

 	const char* errorStr1;

 	const char* errorStr2;

@@ -1193,6 +1205,7 @@
 	FILE* fp;

 	int depth;

 	int textDepth;

+	bool processEntities;

 

 	enum {

 		ENTITY_RANGE = 64,