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)
committerArun Persaud <arun@nubati.net>
Tue, 9 Feb 2010 03:45:42 +0000 (19:45 -0800)
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 9e0dad5..7b7df9c 100644 (file)
--- a/backend.c
+++ b/backend.c
@@ -2471,7 +2471,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;