aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--code/botlib/be_ai_chat.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/code/botlib/be_ai_chat.c b/code/botlib/be_ai_chat.c
index 898aa4b..c21292f 100644
--- a/code/botlib/be_ai_chat.c
+++ b/code/botlib/be_ai_chat.c
@@ -980,19 +980,21 @@ bot_randomlist_t *BotLoadRandomStrings(char *filename)
//
while(PC_ReadToken(source, &token))
{
+ size_t len;
if (token.type != TT_NAME)
{
SourceError(source, "unknown random %s", token.string);
FreeSource(source);
return NULL;
} //end if
- size += sizeof(bot_randomlist_t) + strlen(token.string) + 1;
+ len = (strlen(token.string) + 1 +sizeof(void*)-1) & ~(sizeof(void*)-1);
+ size += sizeof(bot_randomlist_t) + len;
if (pass)
{
random = (bot_randomlist_t *) ptr;
ptr += sizeof(bot_randomlist_t);
random->string = ptr;
- ptr += strlen(token.string) + 1;
+ ptr += len;
strcpy(random->string, token.string);
random->firstrandomstring = NULL;
random->numstrings = 0;
@@ -1009,18 +1011,20 @@ bot_randomlist_t *BotLoadRandomStrings(char *filename)
} //end if
while(!PC_CheckTokenString(source, "}"))
{
+ size_t len;
if (!BotLoadChatMessage(source, chatmessagestring))
{
FreeSource(source);
return NULL;
} //end if
- size += sizeof(bot_randomstring_t) + strlen(chatmessagestring) + 1;
+ len = (strlen(chatmessagestring) + 1 +sizeof(void*)-1) & ~(sizeof(void*)-1);
+ size += sizeof(bot_randomstring_t) + len;
if (pass)
{
randomstring = (bot_randomstring_t *) ptr;
ptr += sizeof(bot_randomstring_t);
randomstring->string = ptr;
- ptr += strlen(chatmessagestring) + 1;
+ ptr += len;
strcpy(randomstring->string, chatmessagestring);
//
random->numstrings++;
@@ -2125,7 +2129,7 @@ bot_chat_t *BotLoadInitialChat(char *chatfile, char *chatname)
ptr += sizeof(bot_chatmessage_t);
chatmessage->chatmessage = ptr;
strcpy(chatmessage->chatmessage, chatmessagestring);
- ptr += strlen(chatmessagestring) + 1;
+ ptr += (strlen(chatmessagestring) + 1 +sizeof(void*)-1) & ~(sizeof(void*)-1);
//the number of chat messages increased
chattype->numchatmessages++;
} //end if