- Improved a bit RFIFOFLUSH as suggested by Harbin.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8838 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
e8c9941812
commit
c616fec871
@ -3,6 +3,8 @@ Date Added
|
|||||||
AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
|
AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
|
||||||
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
|
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
|
||||||
|
|
||||||
|
2006/09/21
|
||||||
|
* Improved a bit RFIFOFLUSH as suggested by Harbin. [Skotlex]
|
||||||
2006/09/20
|
2006/09/20
|
||||||
* A mob's HP is set temporarily to 0 before invoking it's on-death script,
|
* A mob's HP is set temporarily to 0 before invoking it's on-death script,
|
||||||
prevents said scripts being able to "rekill" the mob indefinitely (if stuff
|
prevents said scripts being able to "rekill" the mob indefinitely (if stuff
|
||||||
|
@ -857,7 +857,7 @@ int do_parsepacket(void)
|
|||||||
sd = session[i];
|
sd = session[i];
|
||||||
if(!sd)
|
if(!sd)
|
||||||
continue;
|
continue;
|
||||||
if ((sd->rdata_tick != 0) && DIFF_TICK(last_tick,sd->rdata_tick) > stall_time) {
|
if (sd->rdata_tick && DIFF_TICK(last_tick,sd->rdata_tick) > stall_time) {
|
||||||
ShowInfo ("Session #%d timed out\n", i);
|
ShowInfo ("Session #%d timed out\n", i);
|
||||||
sd->eof = 1;
|
sd->eof = 1;
|
||||||
}
|
}
|
||||||
|
@ -38,7 +38,14 @@ extern time_t stall_time;
|
|||||||
#define RFIFOW(fd,pos) (*(unsigned short*)RFIFOP(fd,pos))
|
#define RFIFOW(fd,pos) (*(unsigned short*)RFIFOP(fd,pos))
|
||||||
#define RFIFOL(fd,pos) (*(unsigned long*)RFIFOP(fd,pos))
|
#define RFIFOL(fd,pos) (*(unsigned long*)RFIFOP(fd,pos))
|
||||||
#define RFIFOREST(fd) (session[fd]->rdata_size-session[fd]->rdata_pos)
|
#define RFIFOREST(fd) (session[fd]->rdata_size-session[fd]->rdata_pos)
|
||||||
#define RFIFOFLUSH(fd) (memmove(session[fd]->rdata,RFIFOP(fd,0),RFIFOREST(fd)),session[fd]->rdata_size=RFIFOREST(fd),session[fd]->rdata_pos=0)
|
#define RFIFOFLUSH(fd) \
|
||||||
|
if(session[fd]->rdata_size == session[fd]->rdata_pos) \
|
||||||
|
{ session[fd]->rdata_size = session[fd]->rdata_pos = 0; } else { \
|
||||||
|
session[fd]->rdata_size -= session[fd]->rdata_pos; \
|
||||||
|
memmove(session[fd]->rdata, session[fd]->rdata+session[fd]->rdata_pos, session[fd]->rdata_size); \
|
||||||
|
session[fd]->rdata_pos=0; \
|
||||||
|
}
|
||||||
|
|
||||||
//#define RFIFOSKIP(fd,len) ((session[fd]->rdata_size-session[fd]->rdata_pos-(len)<0) ? (fprintf(stderr,"too many skip\n"),exit(1)) : (session[fd]->rdata_pos+=(len)))
|
//#define RFIFOSKIP(fd,len) ((session[fd]->rdata_size-session[fd]->rdata_pos-(len)<0) ? (fprintf(stderr,"too many skip\n"),exit(1)) : (session[fd]->rdata_pos+=(len)))
|
||||||
|
|
||||||
#define RBUFP(p,pos) (((unsigned char*)(p))+(pos))
|
#define RBUFP(p,pos) (((unsigned char*)(p))+(pos))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user