From: H.G. Muller Date: Mon, 8 Feb 2010 10:57:57 +0000 (+0100) Subject: Match handles with multiple titles for channel Chat Boxes X-Git-Tag: master-20100221~31 X-Git-Url: http://winboard.nl/cgi-bin?p=xboard.git;a=commitdiff_plain;h=c187d44b624a0aa909c8eb20d1d3a4a8cb203e17 Match handles with multiple titles for channel Chat Boxes Only handles with at most one suffixed 'title', such as (U), (C), (IM) or (TD), followed by the parenthesized channel number, were recognized, so tells by people with more titles always went to the ICS console window. Patterns are added to recognize handles with upto three such qualifiers. --- diff --git a/backend.c b/backend.c index 4abcc4a..fd2aebb 100644 --- a/backend.c +++ b/backend.c @@ -2730,7 +2730,9 @@ read_from_ics(isr, closure, data, count, error) if(started == STARTED_NONE && (looking_at(buf, &i, "* tells you:") || looking_at(buf, &i, "* says:") || looking_at(buf, &i, "* whispers:") || looking_at(buf, &i, "*(*):") && (sscanf(star_match[1], "%d", &channel),1) || - looking_at(buf, &i, "*(*)(*):") && sscanf(star_match[2], "%d", &channel) == 1 )) { + looking_at(buf, &i, "*(*)(*):") && (sscanf(star_match[2], "%d", &channel),1) || + looking_at(buf, &i, "*(*)(*)(*):") && (sscanf(star_match[3], "%d", &channel),1) || + looking_at(buf, &i, "*(*)(*)(*)(*):") && sscanf(star_match[4], "%d", &channel) == 1 )) { int p; sscanf(star_match[0], "%[^(]", talker+1); // strip (C) or (U) off ICS handle chattingPartner = -1;