diff options
author | shennetsind <ind@henn.et> | 2014-02-22 22:56:32 -0300 |
---|---|---|
committer | shennetsind <ind@henn.et> | 2014-02-22 22:56:32 -0300 |
commit | 6163d9afd1b8536509cb79d123ad6855d89f39e7 (patch) | |
tree | f5edb52c3cb20347bb042facc4c5f8ae2d863170 | |
parent | 5421a7e4e6368a5e6e1438043f8e9b9dd5533fc9 (diff) | |
download | hercules-6163d9afd1b8536509cb79d123ad6855d89f39e7.tar.gz hercules-6163d9afd1b8536509cb79d123ad6855d89f39e7.tar.bz2 hercules-6163d9afd1b8536509cb79d123ad6855d89f39e7.tar.xz hercules-6163d9afd1b8536509cb79d123ad6855d89f39e7.zip |
Fixed #send
Was misusing 'fd' instead of 'sd->fd' causing it to have the same effect as @send would (aka it doesn't send to #send's target). found thanks to Haruna
Signed-off-by: shennetsind <ind@henn.et>
-rw-r--r-- | src/map/atcommand.c | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/src/map/atcommand.c b/src/map/atcommand.c index c5460eb47..e7617b2e8 100644 --- a/src/map/atcommand.c +++ b/src/map/atcommand.c @@ -210,8 +210,8 @@ ACMD(send) len=SHRT_MAX-4; // maximum length off=4; } - WFIFOHEAD(fd, len); - WFIFOW(fd,0)=TOW(type); + WFIFOHEAD(sd->fd, len); + WFIFOW(sd->fd,0)=TOW(type); // parse packet contents SKIP_VALUE(message); @@ -219,25 +219,25 @@ ACMD(send) if(ISDIGIT(*message) || *message == '-' || *message == '+') {// default (byte) GET_VALUE(message,num); - WFIFOB(fd,off)=TOB(num); + WFIFOB(sd->fd,off)=TOB(num); ++off; } else if(TOUPPER(*message) == 'B') {// byte ++message; GET_VALUE(message,num); - WFIFOB(fd,off)=TOB(num); + WFIFOB(sd->fd,off)=TOB(num); ++off; } else if(TOUPPER(*message) == 'W') {// word (2 bytes) ++message; GET_VALUE(message,num); - WFIFOW(fd,off)=TOW(num); + WFIFOW(sd->fd,off)=TOW(num); off+=2; } else if(TOUPPER(*message) == 'L') {// long word (4 bytes) ++message; GET_VALUE(message,num); - WFIFOL(fd,off)=TOL(num); + WFIFOL(sd->fd,off)=TOL(num); off+=4; } else if(TOUPPER(*message) == 'S') {// string - escapes are valid @@ -290,7 +290,7 @@ ACMD(send) num<<=8; num+=(ISDIGIT(*message)?*message-'0':TOLOWER(*message)-'a'+10); } - WFIFOB(fd,off)=TOB(num); + WFIFOB(sd->fd,off)=TOB(num); ++message; CHECK_EOS(message); continue; @@ -319,13 +319,13 @@ ACMD(send) CHECK_EOS(message); } } - WFIFOB(fd,off)=TOB(num); + WFIFOB(sd->fd,off)=TOB(num); continue; } } } else num=*message; - WFIFOB(fd,off)=TOB(num); + WFIFOB(sd->fd,off)=TOB(num); ++message; CHECK_EOS(message); }//for @@ -338,7 +338,7 @@ ACMD(send) // terminate the string if(off < end) {// fill the rest with 0's - memset(WFIFOP(fd,off),0,end-off); + memset(WFIFOP(sd->fd,off),0,end-off); off=end; } } else @@ -350,12 +350,12 @@ ACMD(send) } if(packet_db[type].len == -1) {// send dynamic packet - WFIFOW(fd,2)=TOW(off); - WFIFOSET(fd,off); + WFIFOW(sd->fd,2)=TOW(off); + WFIFOSET(sd->fd,off); } else {// send static packet if(off < len) - memset(WFIFOP(fd,off),0,len-off); - WFIFOSET(fd,len); + memset(WFIFOP(sd->fd,off),0,len-off); + WFIFOSET(sd->fd,len); } } else { clif->message(fd, msg_txt(259)); // Invalid packet |