From e392522057d22da8bdac1a94a7a3ad3f24a49e4e Mon Sep 17 00:00:00 2001 From: johns <> Date: Thu, 27 Apr 2000 00:26:53 +0000 Subject: [PATCH] fixed chat message dumps core without network --- network/new_network.cpp | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/network/new_network.cpp b/network/new_network.cpp index 4121d0416..e3a247fb7 100644 --- a/network/new_network.cpp +++ b/network/new_network.cpp @@ -1302,26 +1302,28 @@ global void NetworkChatMessage(const char* msg) int n; int t; - t=MessageChat; - cp=msg; - n=strlen(msg); - while( n>=sizeof(ncm->Text) ) { + if( NetworkFildes!=-1 ) { + t=MessageChat; + cp=msg; + n=strlen(msg); + while( n>=sizeof(ncm->Text) ) { + ncq=malloc(sizeof(NetworkCommandQueue)); + dl_insert_last(CommandsIn,ncq->List); + ncq->Data.Type=t; + t=MessageChatCont; + ncm=(NetworkChat*)(&ncq->Data); + ncm->Player=ThisPlayer->Player; + memcpy(ncm->Text,cp,sizeof(ncm->Text)); + cp+=sizeof(ncm->Text); + n-=sizeof(ncm->Text); + } ncq=malloc(sizeof(NetworkCommandQueue)); dl_insert_last(CommandsIn,ncq->List); ncq->Data.Type=t; - t=MessageChatCont; ncm=(NetworkChat*)(&ncq->Data); ncm->Player=ThisPlayer->Player; - memcpy(ncm->Text,cp,sizeof(ncm->Text)); - cp+=sizeof(ncm->Text); - n-=sizeof(ncm->Text); + memcpy(ncm->Text,cp,n+1); // see >= above :) } - ncq=malloc(sizeof(NetworkCommandQueue)); - dl_insert_last(CommandsIn,ncq->List); - ncq->Data.Type=t; - ncm=(NetworkChat*)(&ncq->Data); - ncm->Player=ThisPlayer->Player; - memcpy(ncm->Text,cp,n+1); // see >= above :) } /**