diff options
author | piaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2009-10-27 21:08:52 +0800 |
---|---|---|
committer | piaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2009-10-27 21:08:52 +0800 |
commit | 1d53d54a15fe37d5a1541510f69a992e1471235b (patch) | |
tree | a10e4f30665bd35989c2479147881958ce41e53e | |
parent | 5249356ddba716ea9c7494f81aa76aebaac06537 (diff) | |
download | pttbbs-1d53d54a15fe37d5a1541510f69a992e1471235b.tar pttbbs-1d53d54a15fe37d5a1541510f69a992e1471235b.tar.gz pttbbs-1d53d54a15fe37d5a1541510f69a992e1471235b.tar.bz2 pttbbs-1d53d54a15fe37d5a1541510f69a992e1471235b.tar.lz pttbbs-1d53d54a15fe37d5a1541510f69a992e1471235b.tar.xz pttbbs-1d53d54a15fe37d5a1541510f69a992e1471235b.tar.zst pttbbs-1d53d54a15fe37d5a1541510f69a992e1471235b.zip |
* workaround: paging will fail if rejected before without leaving userlist
git-svn-id: http://opensvn.csie.org/pttbbs/trunk@4997 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
-rw-r--r-- | pttbbs/mbbsd/talk.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/pttbbs/mbbsd/talk.c b/pttbbs/mbbsd/talk.c index 46ca6331..49f20e82 100644 --- a/pttbbs/mbbsd/talk.c +++ b/pttbbs/mbbsd/talk.c @@ -1150,6 +1150,11 @@ int make_connection_to_somebody(userinfo_t *uin, int timeout){ currutmp->sockactive = YEA; currutmp->sockaddr = server.sin_port; currutmp->destuid = uin->uid; + // WORKAROUND setutmpmode() checks currstat as cache of currutmp->mode. + // however if you invoke page -> rejected -> do something -> page again, + // the currstat=PAGE but currutmp->mode!=PAGE, and then the paging will fail. + // so, let's temporary break currstat here. + currstat = IDLE; setutmpmode(PAGE); uin->destuip = currutmp - &SHM->uinfo[0]; pid = uin->pid; |