diff options
author | June McEnroe <june@causal.agency> | 2018-09-14 18:48:03 -0400 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2018-09-14 18:48:03 -0400 |
commit | 6aa42b852bc569f7baedc85b74037588777ccbb4 (patch) | |
tree | b97b6f760d1f33f4459fb2fcf54d39ef52cea574 /format.c | |
parent | Apply consecutive formatting codes at once (diff) | |
download | catgirl-6aa42b852bc569f7baedc85b74037588777ccbb4.tar.gz catgirl-6aa42b852bc569f7baedc85b74037588777ccbb4.zip |
Remove word handling from formatParse
Diffstat (limited to '')
-rw-r--r-- | format.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/format.c b/format.c index a2aaf4b..02406e3 100644 --- a/format.c +++ b/format.c @@ -79,10 +79,8 @@ static void parseColor(struct Format *format) { format->str = &format->str[1 + len]; } -static const wchar_t Stops[] = { - L' ', - IRCBold, IRCColor, IRCReverse, IRCReset, IRCItalic, IRCUnderline, - L'\0', +static const wchar_t Codes[] = { + IRCBold, IRCColor, IRCReverse, IRCReset, IRCItalic, IRCUnderline, L'\0', }; bool formatParse(struct Format *format, const wchar_t *split) { @@ -110,11 +108,7 @@ bool formatParse(struct Format *format, const wchar_t *split) { } format->split = (split >= init && split <= format->str); - if (format->str[0] == L' ') { - format->len = 1 + wcscspn(&format->str[1], Stops); - } else { - format->len = wcscspn(format->str, Stops); - } + format->len = wcscspn(format->str, Codes); if (split > format->str && split < &format->str[format->len]) { format->len = split - format->str; } @@ -172,6 +166,7 @@ int main() { assert(testColor(L"\00316,16a", IRCDefault, IRCDefault, 6)); assert(testColor(L"\00399,99a", IRCDefault, IRCDefault, 6)); + assert(testSplits(L"")); assert(testSplits(L"ab")); assert(testSplits(L"\002")); assert(testSplits(L"\002ab")); |