1
0
Fork 0

DBG: fixed the new command parser (only escape characters are escaped, otherwise backslash is kept)

This commit is contained in:
Mr. eXoDia 2015-04-04 23:43:04 +02:00
parent 89b1d96ffc
commit 65266cd92e
1 changed files with 28 additions and 2 deletions

View File

@ -31,7 +31,22 @@ Command::Command(const String & command)
}
break;
case Escaped:
dataAppend(ch);
switch(ch)
{
case ' ':
dataAppend(ch);
break;
case ',':
dataAppend(ch);
break;
case '\"':
dataAppend(ch);
break;
default:
dataAppend('\\');
dataAppend(ch);
break;
}
state = Default;
break;
case Text:
@ -50,11 +65,22 @@ Command::Command(const String & command)
}
break;
case TextEscaped:
dataAppend(ch);
switch(ch)
{
case '\"':
dataAppend(ch);
break;
default:
dataAppend('\\');
dataAppend(ch);
break;
}
state = Text;
break;
}
}
if(state == Escaped || state == TextEscaped)
dataAppend('\\');
dataFinish();
}