Parcourir la source

support more bool options

Lee Thomason il y a 6 ans
Parent
commit
7fd646a8a2
1 fichiers modifiés avec 13 ajouts et 6 suppressions
  1. 13 6
      tinyxml2.cpp

+ 13 - 6
tinyxml2.cpp

@@ -612,13 +612,20 @@ bool XMLUtil::ToBool( const char* str, bool* value )
         *value = (ival==0) ? false : true;
         return true;
     }
-    if ( StringEqual( str, "true" ) ) {
-        *value = true;
-        return true;
+    static const char* TRUE[] = { "true", "True", "TRUE", 0 };
+    static const char* FALSE[] = { "false", "False", "FALSE", 0 };
+
+    for (int i = 0; TRUE[i]; ++i) {
+        if (StringEqual(str, TRUE[i])) {
+            *value = true;
+            return true;
+        }
     }
-    else if ( StringEqual( str, "false" ) ) {
-        *value = false;
-        return true;
+    for (int i = 0; FALSE[i]; ++i) {
+        if (StringEqual(str, FALSE[i])) {
+            *value = false;
+            return true;
+        }
     }
     return false;
 }