// no Data received
//////////////////////////////////////////////////
if (bytes <= 0) {
- if (errno != EAGAIN)
+ if (errno != EAGAIN && errno != 0) // MSVC output "NoError" otherwise
perror("FGMultiplayMgr::MP_ProcessData");
break;
}
return;
}
- char MsgBuf[MsgHdr->MsgLen - sizeof(T_MsgHdr)];
+ char *MsgBuf = new char[MsgHdr->MsgLen - sizeof(T_MsgHdr)];
strncpy(MsgBuf, ((T_ChatMsg *)(Msg + sizeof(T_MsgHdr)))->Text,
MsgHdr->MsgLen - sizeof(T_MsgHdr));
MsgBuf[MsgHdr->MsgLen - sizeof(T_MsgHdr) - 1] = '\0';
T_ChatMsg* ChatMsg = (T_ChatMsg *)(Msg + sizeof(T_MsgHdr));
SG_LOG ( SG_NETWORK, SG_ALERT, "Chat [" << MsgHdr->Callsign << "]"
<< " " << MsgBuf << endl);
+ delete [] MsgBuf;
} // FGMultiplayMgr::ProcessChatMsg ()
//////////////////////////////////////////////////////////////////////