COMMON: Handle boolean types in the debugger

This commit is contained in:
Filippos Karapetis 2011-12-05 20:31:22 +02:00
parent 585bd7b0ef
commit 411892d848

View file

@ -247,6 +247,18 @@ bool Debugger::parseCommand(const char *inputOrig) {
*(int32 *)_dvars[i].variable = atoi(param[1]); *(int32 *)_dvars[i].variable = atoi(param[1]);
DebugPrintf("(int)%s = %d\n", param[0], *(int32 *)_dvars[i].variable); DebugPrintf("(int)%s = %d\n", param[0], *(int32 *)_dvars[i].variable);
break; break;
case DVAR_BOOL:
{
Common::String value = Common::String(param[1]);
if (value.equalsIgnoreCase("true") || value.equalsIgnoreCase("false") ||
value == "1" || value == "0") {
*(bool *)_dvars[i].variable = (value.equalsIgnoreCase("true") || value == "1");
DebugPrintf("(bool)%s = %s\n", param[0], *(bool *)_dvars[i].variable ? "true" : "false");
} else {
DebugPrintf("Invalid value for boolean variable. Valid values are \"true\", \"false\", \"1\", \"0\"");
}
}
break;
// Integer Array // Integer Array
case DVAR_INTARRAY: { case DVAR_INTARRAY: {
const char *chr = strchr(param[0], '['); const char *chr = strchr(param[0], '[');
@ -278,6 +290,9 @@ bool Debugger::parseCommand(const char *inputOrig) {
case DVAR_INT: case DVAR_INT:
DebugPrintf("(int)%s = %d\n", param[0], *(const int32 *)_dvars[i].variable); DebugPrintf("(int)%s = %d\n", param[0], *(const int32 *)_dvars[i].variable);
break; break;
case DVAR_BOOL:
DebugPrintf("(bool)%s = %s\n", param[0], *(const bool *)_dvars[i].variable ? "true" : "false");
break;
// Integer array // Integer array
case DVAR_INTARRAY: { case DVAR_INTARRAY: {
const char *chr = strchr(param[0], '['); const char *chr = strchr(param[0], '[');