- fixed the octal parser in strbin. Like its hex counterpart it needs to backtrack one character if it find the end of a sequence.

- since ZScript already receives filtered strings, the 'T' converter for the properties should not do it again.
This commit is contained in:
Christoph Oelckers 2016-11-07 09:54:46 +01:00
parent b206d19df4
commit dc055b74c1
2 changed files with 7 additions and 4 deletions

View File

@ -632,7 +632,10 @@ int strbin (char *str)
if (*p >= '0' && *p <= '7')
c += *p-'0';
else
{
p--;
break;
}
p++;
}
*str++ = c;
@ -732,7 +735,10 @@ FString strbin1 (const char *start)
if (*p >= '0' && *p <= '7')
c += *p-'0';
else
{
p--;
break;
}
p++;
}
result << c;

View File

@ -1676,13 +1676,10 @@ void ZCCCompiler::DispatchProperty(FPropertyInfo *prop, ZCC_PropertyStmt *proper
case 'C': // this parser accepts colors only in string form.
pref.i = 1;
case 'S':
case 'T': // a filtered string (ZScript only parses filtered strings so there's nothing to do here.)
conv.s = GetString(exp);
break;
case 'T': // a filtered string
conv.s = strings[strings.Reserve(1)] = strbin1(GetString(exp));
break;
case 'L': // Either a number or a list of strings
if (!GetString(exp, true))
{