Move declaration to actual first use
diff --git a/tinyxml2.cpp b/tinyxml2.cpp
index ca6c566..a9948cf 100755
--- a/tinyxml2.cpp
+++ b/tinyxml2.cpp
@@ -358,11 +358,11 @@
 

         if ( *(p+2) == 'x' ) {

             // Hexadecimal.

-            if ( !*(p+3) ) {

+            const char* q = p+3;

+            if ( !(*q) ) {

                 return 0;

             }

 

-            const char* q = p+3;

             q = strchr( q, SEMICOLON );

 

             if ( !q ) {

@@ -393,11 +393,11 @@
         }

         else {

             // Decimal.

-            if ( !*(p+2) ) {

+            const char* q = p+2;

+            if ( !(*q) ) {

                 return 0;

             }

 

-            const char* q = p+2;

             q = strchr( q, SEMICOLON );

 

             if ( !q ) {

@@ -2025,9 +2025,9 @@
 {

     // Look for runs of bytes between entities to print.

     const char* q = p;

-    const bool* flag = restricted ? _restrictedEntityFlag : _entityFlag;

 

     if ( _processEntities ) {

+        const bool* flag = restricted ? _restrictedEntityFlag : _entityFlag;

         while ( *q ) {

             // Remember, char is sometimes signed. (How many times has that bitten me?)

             if ( *q > 0 && *q < ENTITY_RANGE ) {