ebf0996
--- src/csvparser.cpp~	2012-09-21 14:19:12.000000000 -0500
ebf0996
+++ src/csvparser.cpp	2012-09-21 14:32:10.667705093 -0500
ebf0996
@@ -76,7 +76,7 @@
ebf0996
 
ebf0996
 void CsvParser::advance(Char ch)
ebf0996
 {
ebf0996
-    if (ch == L'\n')
ebf0996
+    if ( (int) ch == (int) L'\n')
ebf0996
         ++_lineNo;
ebf0996
 
ebf0996
     switch (_state)
ebf0996
@@ -82,7 +82,7 @@
ebf0996
     switch (_state)
ebf0996
     {
ebf0996
         case state_detectDelim:
ebf0996
-            if (isalnum(ch) || ch == L'_' || ch == L' ')
ebf0996
+            if (isalnum(ch) || (int) ch == (int) L'_' || (int) ch == (int) ' ')
ebf0996
             {
ebf0996
                 _titles.back() += ch.narrow();
ebf0996
             }
ebf0996
@@ -86,13 +86,13 @@
ebf0996
             {
ebf0996
                 _titles.back() += ch.narrow();
ebf0996
             }
ebf0996
-            else if (ch == L'\n' || ch == L'\r')
ebf0996
+            else if ( (int) ch == (int) L'\n' || (int) ch == (int) L'\r')
ebf0996
             {
ebf0996
                 log_debug("title=\"" << _titles.back() << '"');
ebf0996
                 _noColumns = 1;
ebf0996
-                _state = (ch == L'\r' ? state_cr : state_rowstart);
ebf0996
+                _state = ( (int) ch == (int) L'\r' ? state_cr : state_rowstart);
ebf0996
             }
ebf0996
-            else if (ch == L'\'' || ch == L'"')
ebf0996
+            else if ( (int) ch == (int) L'\'' || (int) ch == (int) L'"')
ebf0996
             {
ebf0996
                 _quote = ch;
ebf0996
                 _state = state_detectDelim_q;
ebf0996
@@ -119,17 +119,17 @@
ebf0996
             break;
ebf0996
 
ebf0996
         case state_detectDelim_postq:
ebf0996
-            if (isalnum(ch) || ch == L'_' || ch == L'\'' || ch == L'"' || ch == L' ')
ebf0996
+            if (isalnum(ch) || (int) ch == (int) L'_' || (int) ch == (int) L'\'' || (int) ch == (int) L'"' || (int) ch == (int) L' ')
ebf0996
             {
ebf0996
                 std::ostringstream msg;
ebf0996
                 msg << "invalid character '" << ch.narrow() << "' within csv title of column " << _titles.size();
ebf0996
                 SerializationError::doThrow(msg.str());
ebf0996
             }
ebf0996
-            else if (ch == L'\n' || ch == L'\r')
ebf0996
+            else if ( (int) ch == (int) L'\n' || (int) ch == (int) L'\r')
ebf0996
             {
ebf0996
                 log_debug("title=\"" << _titles.back() << '"');
ebf0996
                 _noColumns = 1;
ebf0996
-                _state = (ch == L'\r' ? state_cr : state_rowstart);
ebf0996
+                _state = ( (int) ch == (int) L'\r' ? state_cr : state_rowstart);
ebf0996
             }
ebf0996
             else
ebf0996
             {
ebf0996
@@ -142,10 +142,10 @@
ebf0996
             break;
ebf0996
 
ebf0996
         case state_title:
ebf0996
-            if (ch == L'\n' || ch == L'\r')
ebf0996
+            if ( (int) ch == (int) L'\n' || (int) ch == (int) L'\r')
ebf0996
             {
ebf0996
                 log_debug("title=\"" << _titles.back() << '"');
ebf0996
-                _state = (ch == L'\r' ? state_cr : state_rowstart);
ebf0996
+                _state = ( (int) ch == (int) L'\r' ? state_cr : state_rowstart);
ebf0996
                 _noColumns = _titles.size();
ebf0996
             }
ebf0996
             else if (ch == _delimiter)
ebf0996
@@ -153,7 +153,7 @@
ebf0996
                 log_debug("title=\"" << _titles.back() << '"');
ebf0996
                 _titles.push_back(std::string());
ebf0996
             }
ebf0996
-            else if (ch == L'\'' || ch == L'\"')
ebf0996
+            else if ( (int) ch == (int) L'\'' || (int) ch == (int) L'\"')
ebf0996
             {
ebf0996
                 if (_titles.back().empty())
ebf0996
                 {
ebf0996
@@ -185,10 +185,10 @@
ebf0996
             break;
ebf0996
 
ebf0996
         case state_qtitlep:
ebf0996
-            if (ch == L'\n' || ch == L'\r')
ebf0996
+            if ( (int) ch == (int) L'\n' || (int) ch == (int) L'\r')
ebf0996
             {
ebf0996
                 log_debug("title=\"" << _titles.back() << '"');
ebf0996
-                _state = (ch == L'\r' ? state_cr : state_rowstart);
ebf0996
+                _state = ( (int) ch == (int) L'\r' ? state_cr : state_rowstart);
ebf0996
                 _noColumns = _titles.size();
ebf0996
             }
ebf0996
             else if (ch == _delimiter)
ebf0996
@@ -207,7 +207,7 @@
ebf0996
 
ebf0996
         case state_cr:
ebf0996
             _state = state_rowstart;
ebf0996
-            if (ch == L'\n')
ebf0996
+            if ( (int) ch == (int) L'\n')
ebf0996
             {
ebf0996
                 break;
ebf0996
             }
ebf0996
@@ -228,14 +228,14 @@
ebf0996
                 _column < _titles.size() ? _titles[_column] : std::string(),
ebf0996
                 std::string(), SerializationInfo::Value);
ebf0996
 
ebf0996
-            if (ch == L'\n' || ch == L'\r')
ebf0996
+            if ( (int) ch == (int) L'\n' || (int) ch == (int) L'\r')
ebf0996
             {
ebf0996
                 _deserializer->leaveMember();
ebf0996
                 checkNoColumns(_column, _noColumns, _lineNo);
ebf0996
                 _deserializer->leaveMember();
ebf0996
-                _state = (ch == L'\r' ? state_cr : state_rowstart);
ebf0996
+                _state = ( (int) ch == (int) L'\r' ? state_cr : state_rowstart);
ebf0996
             }
ebf0996
-            else if (ch == L'"' || ch == L'\'')
ebf0996
+            else if ((int) ch == L'"' || (int) ch == L'\'')
ebf0996
             {
ebf0996
                 _quote = ch;
ebf0996
                 _state = state_qdata;
ebf0996
@@ -253,7 +253,7 @@
ebf0996
             break;
ebf0996
 
ebf0996
         case state_data0:
ebf0996
-            if (ch == L'"' || ch == L'\'')
ebf0996
+            if ( (int) ch == (int) L'"' || (int) ch == (int) L'\'')
ebf0996
             {
ebf0996
                 _quote = ch;
ebf0996
                 _state = state_qdata;
ebf0996
@@ -269,7 +269,7 @@
ebf0996
                 checkNoColumns(_column, _noColumns, _lineNo);
ebf0996
                 _deserializer->leaveMember();  // leave data item
ebf0996
                 _deserializer->leaveMember();  // leave row
ebf0996
-                _state = (ch == L'\r' ? state_cr : state_rowstart);
ebf0996
+                _state = ( (int) ch == (int) L'\r' ? state_cr : state_rowstart);
ebf0996
             }
ebf0996
             else if (ch == _delimiter)
ebf0996
             {
ebf0996
--- src/xml/entityresolver.cpp~	2012-05-03 11:06:15.000000000 -0500
ebf0996
+++ src/xml/entityresolver.cpp	2012-09-21 17:51:22.973780927 -0500
ebf0996
@@ -563,19 +563,19 @@
ebf0996
 
ebf0996
 String EntityResolver::resolveEntity(const String& entity) const
ebf0996
 {
ebf0996
-    if (!entity.empty() && entity[0] == L'#')
ebf0996
+    if (!entity.empty() && (int) entity[0] == (int) L'#')
ebf0996
     {
ebf0996
         int code = 0;
ebf0996
-        if (entity.size() > 2 && entity[1] == L'x')
ebf0996
+        if (entity.size() > 2 && (int) entity[1] == (int) L'x')
ebf0996
         {
ebf0996
             // hex notation: ꯍ
ebf0996
             for (String::const_iterator it = entity.begin() + 2; it != entity.end(); ++it)
ebf0996
             {
ebf0996
-                if (*it >= L'0' && *it <= L'9')
ebf0996
+                if ( (int) *it >= (int) L'0' && (int) *it <= (int) L'9')
ebf0996
                     code = code * 16 + (it->value() - L'0');
ebf0996
-                else if (*it >= L'A' && *it <= L'F')
ebf0996
+                else if ( (int) *it >= (int) L'A' && (int) *it <= (int) L'F')
ebf0996
                     code = code * 16 + (it->value() - L'A' + 10);
ebf0996
-                else if (*it >= L'a' && *it <= L'f')
ebf0996
+                else if ( (int) *it >= (int) L'a' && (int) *it <= (int) L'f')
ebf0996
                     code = code * 16 + (it->value() - L'a' + 10);
ebf0996
                 else
ebf0996
                     throw std::runtime_error(std::string("invalid entity ") + entity.narrow());
ebf0996
@@ -586,7 +586,7 @@
ebf0996
             // dec notation: ✏
ebf0996
             for (String::const_iterator it = entity.begin() + 1; it != entity.end(); ++it)
ebf0996
             {
ebf0996
-                if (*it >= L'0' && *it <= L'9')
ebf0996
+                if ( (int) *it >= (int) L'0' && (int) *it <= (int) L'9')
ebf0996
                     code = code * 10 + (it->value() - '0');
ebf0996
                 else
ebf0996
                     throw std::runtime_error(std::string("invalid entity ") + entity.narrow());