From 7e23cd0f57456e78432ee21381767cf07b5d85c4 Mon Sep 17 00:00:00 2001 From: ptt Date: Tue, 14 May 2002 17:13:45 +0000 Subject: fix idle a bit git-svn-id: http://opensvn.csie.org/pttbbs/pttbbs/trunk/pttbbs@171 63ad8ddf-47c3-0310-b6dd-a9e9d9715204 --- mbbsd/edit.c | 8 ++++---- mbbsd/io.c | 20 +++++++++----------- 2 files changed, 13 insertions(+), 15 deletions(-) (limited to 'mbbsd') diff --git a/mbbsd/edit.c b/mbbsd/edit.c index b062c4ec..f6a14766 100644 --- a/mbbsd/edit.c +++ b/mbbsd/edit.c @@ -1,4 +1,4 @@ -/* $Id: edit.c,v 1.9 2002/05/14 16:04:29 ptt Exp $ */ +/* $Id: edit.c,v 1.10 2002/05/14 17:13:45 ptt Exp $ */ #include #include #include @@ -1553,8 +1553,8 @@ int vedit(char *fpath, int saveheader, int *islocal) { int mode0 = currutmp->mode; int destuid0 = currutmp->destuid; unsigned int money=0; - unsigned short int interval=0; - time_t th; + int interval=0; + time_t th=now; textline_t* firstline0 = firstline; textline_t* lastline0 = lastline; @@ -1606,7 +1606,7 @@ int vedit(char *fpath, int saveheader, int *islocal) { strcpy(line, currline->data); ch = igetkey(); /* jochang debug */ - if((interval = (unsigned short int)(now - th))) { + if((interval = (now - th))) { th=now; if((char)ch != last) { money++; diff --git a/mbbsd/io.c b/mbbsd/io.c index 37dc2be1..8e7cd7ae 100644 --- a/mbbsd/io.c +++ b/mbbsd/io.c @@ -1,4 +1,4 @@ -/* $Id: io.c,v 1.14 2002/05/14 15:20:42 ptt Exp $ */ +/* $Id: io.c,v 1.15 2002/05/14 17:13:45 ptt Exp $ */ #include #include #include @@ -126,7 +126,7 @@ int watermode = -1, wmofo = -1; static int dogetch() { int len; - static time_t anti_robot=0; + static time_t lastact, realact=0; if(ibufsize <= icurrchar) { if(flushf) @@ -175,16 +175,14 @@ static int dogetch() { if(currutmp) { now= time(0); - if(now-currutmp->lastact<3) - anti_robot=now; - else if(!anti_robot || now-anti_robot < 5*60) - { - currutmp->lastact = now; - } + if(!realact || now-lastact < 3) + realact=now; + + if(now-realact<5*60) + currutmp->lastact=now; else - { - currutmp->lastact = anti_robot; - } + currutmp->lastact=realact; + lastact=now; } return inbuf[icurrchar++]; } -- cgit v1.2.3