diff options
author | scw <scw@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2005-02-26 20:45:20 +0800 |
---|---|---|
committer | scw <scw@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2005-02-26 20:45:20 +0800 |
commit | 3b4e727c99c7dfc54745a10bbb182b3adea7f55d (patch) | |
tree | b38877faf9978c1c42f6794dd46b3b4159f0224b /mbbsd/talk.c | |
parent | 35dba03131d5d7c8bcda67566bb1a8e8dfceffc2 (diff) | |
download | pttbbs-3b4e727c99c7dfc54745a10bbb182b3adea7f55d.tar pttbbs-3b4e727c99c7dfc54745a10bbb182b3adea7f55d.tar.gz pttbbs-3b4e727c99c7dfc54745a10bbb182b3adea7f55d.tar.bz2 pttbbs-3b4e727c99c7dfc54745a10bbb182b3adea7f55d.tar.lz pttbbs-3b4e727c99c7dfc54745a10bbb182b3adea7f55d.tar.xz pttbbs-3b4e727c99c7dfc54745a10bbb182b3adea7f55d.tar.zst pttbbs-3b4e727c99c7dfc54745a10bbb182b3adea7f55d.zip |
Reenable Chinese chess watching.
git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@2556 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
Diffstat (limited to 'mbbsd/talk.c')
-rw-r--r-- | mbbsd/talk.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/mbbsd/talk.c b/mbbsd/talk.c index 7d8927cc..d92a7136 100644 --- a/mbbsd/talk.c +++ b/mbbsd/talk.c @@ -1380,8 +1380,18 @@ my_talk(userinfo_t * uin, int fri_stat, char defact) if (sock < 0) vmsg("無法建立連線"); else { +#if defined(Solaris) && __OS_MAJOR_VERSION__ == 5 && __OS_MINOR_VERSION__ < 7 + msgsock = accept(sock, (struct sockaddr *) 0, 0); +#else + msgsock = accept(sock, (struct sockaddr *) 0, (socklen_t *) 0); +#endif + close(sock); + if (msgsock == -1) { + perror("accept"); + return; + } strlcpy(currutmp->mateid, uin->userid, sizeof(currutmp->mateid)); - chc(sock, CHC_WATCH); + chc(msgsock, CHC_WATCH); } } else @@ -2859,6 +2869,7 @@ talkreply(void) char buf[4]; char genbuf[200]; int a, sig = currutmp->sig; + int currstat0 = currstat; uip = &SHM->uinfo[currutmp->destuip]; snprintf(page_requestor, sizeof(page_requestor), @@ -2899,6 +2910,7 @@ talkreply(void) a = reply_connection_request(uip); if (a < 0) { clear(); + currstat = currstat0; return; } @@ -2936,6 +2948,7 @@ talkreply(void) else close(a); clear(); + currstat = currstat0; } /* 網友動態簡表 */ |