aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scumm/scummvm.cpp15
1 files changed, 13 insertions, 2 deletions
diff --git a/scumm/scummvm.cpp b/scumm/scummvm.cpp
index a60e41a46e..0f20b2c40a 100644
--- a/scumm/scummvm.cpp
+++ b/scumm/scummvm.cpp
@@ -649,9 +649,20 @@ ScummEngine::ScummEngine(GameDetector *detector, OSystem *syst, const ScummGameS
}
if (md5_file(buf, md5sum)) {
+ // HACK : changed to this code since PalmOS doesn't handle correctly %02x.
+ // It returns only 8 chars string in upper case so i need to use hex[],
+ // copy last 2 chars to md5str and convert result to lower case
char md5str[32+1];
- for (int j = 0; j < 16; j++)
- sprintf(md5str+j*2, "%02x", md5sum[j]);
+ char hex[8+1];
+ for (int j = 0; j < 16; j++) {
+ sprintf(hex, "%02x", (int)md5sum[j]);
+ memcpy(md5str+j*2, hex + strlen(hex) - 2, 2);
+ }
+
+ for (int j = 0; j < 32; j++)
+ md5str[j] = tolower(md5str[j]);
+ // --
+
md5str[32] = 0;
printf("%s %s\n", md5str, buf);
const MD5Table *elem;