aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/message.cpp
diff options
context:
space:
mode:
authorFilippos Karapetis2009-05-10 13:47:38 +0000
committerFilippos Karapetis2009-05-10 13:47:38 +0000
commit53f24f3e43f78e974367dfe2c87951e7d2589689 (patch)
treebf114ab85c20f8626d4d712b233d1f2710543360 /engines/sci/engine/message.cpp
parentdd84aaf648b57220180b84a9aa0825d16bcea5bc (diff)
downloadscummvm-rg350-53f24f3e43f78e974367dfe2c87951e7d2589689.tar.gz
scummvm-rg350-53f24f3e43f78e974367dfe2c87951e7d2589689.tar.bz2
scummvm-rg350-53f24f3e43f78e974367dfe2c87951e7d2589689.zip
Applied patch by waltervn to remove the length parameter from getText() and fixed a silly bug in getLength()
svn-id: r40421
Diffstat (limited to 'engines/sci/engine/message.cpp')
-rw-r--r--engines/sci/engine/message.cpp18
1 files changed, 6 insertions, 12 deletions
diff --git a/engines/sci/engine/message.cpp b/engines/sci/engine/message.cpp
index 6766224247..2bed850a31 100644
--- a/engines/sci/engine/message.cpp
+++ b/engines/sci/engine/message.cpp
@@ -93,22 +93,16 @@ int MessageState::getTalker() {
return *(_engineCursor.index_record + 4);
}
-int MessageState::getText(char *buffer, int length) {
- int offset;
- if (_version == 2101)
- offset = READ_LE_UINT16(_engineCursor.index_record + 2);
- else
- offset = READ_LE_UINT16(_engineCursor.index_record + 5);
-
+void MessageState::getText(char *buffer) {
+ int offset = READ_LE_UINT16(_engineCursor.index_record + ((_version == 2101) ? 2 : 5));
char *stringptr = (char *)_engineCursor.resource_beginning + offset;
- strncpy(buffer, stringptr, length);
-
- return strlen(buffer);
+ strcpy(buffer, stringptr);
}
int MessageState::getLength() {
- char buffer[500];
- return getText(buffer, sizeof(buffer));
+ int offset = READ_LE_UINT16(_engineCursor.index_record + ((_version == 2101) ? 2 : 5));
+ char *stringptr = (char *)_engineCursor.resource_beginning + offset;
+ return strlen(stringptr);
}
int MessageState::loadRes(int module) {