Match handles with multiple titles for channel Chat Boxes
authorH.G. Muller <h.g.muller@hccnet.nl>
Mon, 8 Feb 2010 10:57:57 +0000 (11:57 +0100)
committerH.G. Muller <h.g.muller@hccnet.nl>
Mon, 8 Feb 2010 10:57:57 +0000 (11:57 +0100)
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.

backend.c

index 02f377f..007a27b 100644 (file)
--- a/backend.c
+++ b/backend.c
@@ -2732,7 +2732,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;