about summary refs log tree commit diff
path: root/format.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--format.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/format.c b/format.c
index 8120165..a2aaf4b 100644
--- a/format.c
+++ b/format.c
@@ -97,13 +97,16 @@ bool formatParse(struct Format *format, const wchar_t *split) {
 	}
 
 	const wchar_t *init = format->str;
-	switch (format->str[0]) {
-		break; case IRCBold:      format->str++; format->bold ^= true;
-		break; case IRCItalic:    format->str++; format->italic ^= true;
-		break; case IRCUnderline: format->str++; format->underline ^= true;
-		break; case IRCReverse:   format->str++; format->reverse ^= true;
-		break; case IRCColor:     format->str++; parseColor(format);
-		break; case IRCReset:     format->str++; formatReset(format);
+	for (bool done = false; !done;) {
+		switch (format->str[0]) {
+			break; case IRCBold:      format->str++; format->bold ^= true;
+			break; case IRCItalic:    format->str++; format->italic ^= true;
+			break; case IRCUnderline: format->str++; format->underline ^= true;
+			break; case IRCReverse:   format->str++; format->reverse ^= true;
+			break; case IRCColor:     format->str++; parseColor(format);
+			break; case IRCReset:     format->str++; formatReset(format);
+			break; default:           done = true;
+		}
 	}
 	format->split = (split >= init && split <= format->str);
 
@@ -170,8 +173,10 @@ int main() {
 	assert(testColor(L"\00399,99a", IRCDefault, IRCDefault, 6));
 
 	assert(testSplits(L"ab"));
+	assert(testSplits(L"\002"));
 	assert(testSplits(L"\002ab"));
 	assert(testSplits(L"a\002b"));
+	assert(testSplits(L"\002\003"));
 	assert(testSplits(L"a\002\003b"));
 	assert(testSplits(L"a\0031b"));
 	assert(testSplits(L"a\00312b"));
nerate tagsJune McEnroe 2017-10-03Simplify Makefile with pattern ruleJune McEnroe 2017-09-27Remove leading blank linesJune McEnroe 2017-09-27Add merge.c to READMEJune McEnroe 2017-09-03Assert client coords are valid after movementJune McEnroe 2017-09-03Relicense AGPLJune McEnroe 2017-09-01Revert "Add client readOnly mode"June McEnroe 2017-09-01Remove clientRemove call from clientCastJune McEnroe 2017-09-01Add client readOnly modeJune McEnroe 2017-08-31Clean up merge toolJune McEnroe 2017-08-31Choose B for tiles with equal modify timesJune McEnroe 2017-08-31Add quick data file merge toolJune McEnroe 2017-08-30Use only foreground color for selecting spawnJune McEnroe 2017-08-29Add four additional spawnsJune McEnroe 2017-08-28Add respawningJune McEnroe 2017-08-26Move license above includesJune McEnroe 2017-08-26Snapshot metadataJune McEnroe 2017-08-26Add meta.c to READMEJune McEnroe 2017-08-26Use MakefileJune McEnroe