Token: Improve string parsing
parent
7c8da17172
commit
7f3a6e222e
|
@ -84,15 +84,17 @@ void Lth_TokenGet(FILE *fp, Lth_Token *out)
|
||||||
|
|
||||||
while((ch = fgetc(fp)) != beg && ch != EOF)
|
while((ch = fgetc(fp)) != beg && ch != EOF)
|
||||||
{
|
{
|
||||||
if(ch != '\\')
|
if(ch == '\\')
|
||||||
ACS_PrintChar(ch);
|
|
||||||
else if((ch = fgetc(fp)) == beg)
|
|
||||||
ACS_PrintChar(ch);
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
ungetc(ch, fp);
|
switch((ch = fgetc(fp)))
|
||||||
ACS_PrintChar('\\');
|
{
|
||||||
|
case '\\': ACS_PrintChar(ch); break;
|
||||||
|
case 'C': ACS_PrintChar('\C'); break;
|
||||||
|
default: if(ch == beg) ACS_PrintChar(beg); break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
ACS_PrintChar(ch);
|
||||||
}
|
}
|
||||||
|
|
||||||
out->str = Lth_strdup_str(ACS_EndStrParam());
|
out->str = Lth_strdup_str(ACS_EndStrParam());
|
||||||
|
|
Loading…
Reference in New Issue