Quellcode durchsuchen

if statement

treat "true" as a bool in getInt check (inside if statements for strings)
no longer convert all "true" and "false" to ints
marauder2k7 vor 1 Jahr
Ursprung
Commit
d6a79e4f5b

+ 11 - 1
Engine/source/console/console.h

@@ -245,7 +245,17 @@ public:
       if (type == ConsoleValueType::cvSTEntry)
          return s == StringTable->EmptyString() ? 0 : dAtoi(s);
       if (type == ConsoleValueType::cvString)
-         return dStrcmp(s, "") == 0 ? 0 : dIsdigit(*s) ? dAtoi(s) : s == StringTable->EmptyString() ? 0 : 1;
+      {
+         if (dStrcmp(s, "false") == 0) {
+            return 0;
+         }
+         else if (dStrcmp(s, "true") == 0) {
+            return 1;
+         }
+
+         return dIsdigit(*s) ? dAtoi(s) : s == StringTable->EmptyString() ? 0 : 1;
+      }
+
       return dAtoi(getConsoleData());
    }
 

+ 0 - 12
Engine/source/console/torquescript/CMDscan.cpp

@@ -2827,18 +2827,6 @@ static int Sc_ScanString(int ret)
    if(!collapseEscape(CMDtext+1))
       return -1;
 
-   const char* scannedStr = CMDtext + 1;
-
-   if (dStrcmp(scannedStr, "true") == 0) {
-      CMDlval.i = MakeToken<int>(1, yylineno);
-      return INTCONST;
-   }
-
-   if (dStrcmp(scannedStr, "false") == 0) {
-      CMDlval.i = MakeToken<int>(0, yylineno);
-      return INTCONST;
-   }
-
    dsize_t bufferLen = dStrlen( CMDtext );
    char* buffer = ( char* ) consoleAlloc( bufferLen );
    dStrcpy( buffer, CMDtext + 1, bufferLen );

+ 0 - 12
Engine/source/console/torquescript/CMDscan.l

@@ -377,18 +377,6 @@ static int Sc_ScanString(int ret)
    if(!collapseEscape(CMDtext+1))
       return -1;
 
-   const char* scannedStr = CMDtext + 1;
-
-   if (dStrcmp(scannedStr, "true") == 0) {
-      CMDlval.i = MakeToken<int>(1, yylineno);
-      return INTCONST;
-   }
-
-   if (dStrcmp(scannedStr, "false") == 0) {
-      CMDlval.i = MakeToken<int>(0, yylineno);
-      return INTCONST;
-   }
-
    dsize_t bufferLen = dStrlen( CMDtext );
    char* buffer = ( char* ) consoleAlloc( bufferLen );
    dStrcpy( buffer, CMDtext + 1, bufferLen );