作者: Tsaoyc (大捕頭..我咬..汪汪洋) 看板: SobVersion
標題: [BUG FIX] 傳訊問題...
時間: Sun Mar 2 11:38:23 1997
有時後一進站就莫名奇妙地收到訊息, 原因就是原本應該被傳的 user
下站了, 而新進站的 user 補了他的空位, 因此就傳錯了, 如果在傳
之前先將對方的 id 記下來, 之後比對, 便可以傳送無誤了.
修改 talk.c 中 my_write()...
int
my_write(pid, hint)
pid_t pid;
char *hint;
{
<略>
+ char write_id[IDLEN+1];
if (!uin) {
my_outmsg(";33;41m糟糕! 對方已落跑了(不在站上)! 7m~>_<~m");
if (isprint2(*hint))
sleep(1);
return 0;
}
+ else
+ strcpy(write_id, uin->userid);
<略>
+ if (!*uin->userid || strcmp(write_id, uin->userid)) {
my_outmsg(";33;41m糟糕! 對方已落跑了(不在站上)! 7m~>_<~m");
if (*hint)
sleep(1);
currutmp->chatid[0] = c0;
currutmp->mode = mode0;
currstat = currstat0;
return 0;
}
<略>
+ if (!*uin->userid || strcmp(write_id, uin->userid)) {
my_outmsg(";33;41m糟糕! 對方已落跑了(不在站上)! 7m~>_<~m");
if (isprint2(*hint))
sleep(1);
currutmp->chatid[0] = c0;
currutmp->mode = mode0;
currstat = currstat0;
return 0;
}
<略>
.