From: Frank T. <ch...@us...> - 2003-06-30 22:19:38
|
Update of /cvsroot/bzflag/bzflag/src/bzfs In directory sc8-pr-cvs1:/tmp/cvs-serv23303/src/bzfs Modified Files: bzfs.cxx Log Message: remove programmer protection in directMessage() again because there is at least one call which does not use getDIrectMessageBuffer() for optimization purposes (I guess); this is MsgShotBegin; instead, added a comment Index: bzfs.cxx =================================================================== RCS file: /cvsroot/bzflag/bzflag/src/bzfs/bzfs.cxx,v retrieving revision 1.174 retrieving revision 1.175 diff -w -u -r1.174 -r1.175 --- bzfs.cxx 30 Jun 2003 06:55:17 -0000 1.174 +++ bzfs.cxx 30 Jun 2003 22:19:35 -0000 1.175 @@ -2302,6 +2302,9 @@ return &sMsgBuf[2*sizeof(short)]; } +// FIXME? 4 bytes before msg must be valid memory, will get filled in with len+code +// usually, the caller gets a buffer via getDirectMessageBuffer(), but for example +// for MsgBeginShot the receiving buffer gets used directly static void directMessage(int playerIndex, uint16_t code, int len, const void *msg) { if (player[playerIndex].fd == NotConnected) @@ -2310,11 +2313,6 @@ // send message to one player void *bufStart = (char *)msg - 2*sizeof(short); - if (bufStart != sMsgBuf) { - DEBUG1("PROGRAMMING ERROR: NOT USING DIRECT MESSAGE BUFFER"); - memmove(getDirectMessageBuffer(), msg, len); - bufStart = sMsgBuf; - } void *buf = bufStart; buf = nboPackUShort(buf, uint16_t(len)); buf = nboPackUShort(buf, code); |