Re: BUGS: IRC groupchat
Cory McWilliams <[email protected]> Wed, 11 Feb 2004 18:43:53 -0500
| Newsgroups | gmane.network.everybuddy.user |
|---|---|
| Message-ID | <[email protected]> |
Hi, I think I am indeed the one to blame for this one. Oddly, I haven't really been able to reproduce this behavior. On what IRC servers are people noticing this? Howver, based on what you described, I think I found the culprit. Due to an off-by-one error I made, a null character was being written at the end of an ISON message which is sent periodically. I imagine some servers interpreted that as part of the next message, causing it to be "lost," which I think could have caused everything you describe. Attached is a patch for the one line, which I coincidentally marked as "tricky" at the time...sigh. Please let me know whether this makes a difference. Sorry, Cory On Wed, 2004-02-11 at 16:48, Karine Proot wrote: > Hello, > > A test sequence I ran : > > * Connecting to an IRC account. > * Can't join groupchat (already reported by Meredydd. I have to > disconnect and try again until it will accept to join a group chat) > > * Connecting to an IRC account. > * Joined a group chat. > ChanServ talks to me. > I get a "eb_get_filename failed: File exists" on core output > * Talked first in the groupchat > !!! first message didn't arrive > following OK > * Waited for someone to talk > OK > * Talked in the groupchat > !!! first message didn't arrive > following OK > -> a few more tests seem to lead to the conclusion that first message > never get throught, following ones are OK. This varies a little. > * Left the groupchat > !!! nothing happens, I still appear in it (from other client) > * Waited for someone to talk > !!! All messages arrive as query message and buddies are added to > list accordingly. > At some point, the groupchat reopened and all following messages > appeared on it. Noboddy in the groupchat list. > > > _______________________________________________ > Everybuddy mailing list > [email protected] > http://lists.spine.cx/listinfo/everybuddy > _______________________________________________ Everybuddy mailing list [email protected] http://lists.spine.cx/listinfo/everybuddy
irc-null.patch
(text/x-patch, 530 B)
Index: plugins/irc/irc.c
===================================================================
--- plugins/irc/irc.c (revision 255)
+++ plugins/irc/irc.c (working copy)
@@ -459,7 +459,7 @@
{
*(pos-1) = '\n'; // Replace a space with a newline (tricky)
*pos++ = '\0';
- write(lad->fd, buffer, pos - buffer);
+ write(lad->fd, buffer, pos - buffer - 1);
pos = buffer;
lad->ison_count++;
if (too_long) continue; // Don't advance buddy yet