diff options
Diffstat (limited to 'mbbsd/io.c')
-rw-r--r-- | mbbsd/io.c | 20 |
1 files changed, 9 insertions, 11 deletions
@@ -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 <stdio.h> #include <stdlib.h> #include <string.h> @@ -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++]; } |