From 14ce84da9aec30aa89505f40d16e06df0b6725e4 Mon Sep 17 00:00:00 2001 From: Torbjörn Andersson Date: Sun, 7 Sep 2014 18:50:51 +0200 Subject: DEBUGGER: Let "md5mac" print the MD5 sum of both resource and data --- gui/debugger.cpp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'gui/debugger.cpp') diff --git a/gui/debugger.cpp b/gui/debugger.cpp index 48acda17ad..560e516a94 100644 --- a/gui/debugger.cpp +++ b/gui/debugger.cpp @@ -559,11 +559,19 @@ bool Debugger::cmdMd5Mac(int argc, const char **argv) { if (!macResMan.open(filename)) { debugPrintf("Resource file '%s' not found\n", filename.c_str()); } else { - Common::String md5 = macResMan.computeResForkMD5AsString(0); - if (md5.empty()) { - debugPrintf("'%s' has no resource fork\n", filename.c_str()); + if (!macResMan.hasResFork() && !macResMan.hasDataFork()) { + debugPrintf("'%s' has neither data not resource fork\n", macResMan.getBaseFileName().c_str()); } else { - debugPrintf("%s %s\n", md5.c_str(), macResMan.getBaseFileName().c_str()); + // The resource fork is probably the most relevant one. + if (macResMan.hasResFork()) { + Common::String md5 = macResMan.computeResForkMD5AsString(0); + debugPrintf("%s %s (resource)\n", md5.c_str(), macResMan.getBaseFileName().c_str()); + } + if (macResMan.hasDataFork()) { + Common::ReadStream *stream = macResMan.getDataFork(); + Common::String md5 = Common::computeStreamMD5AsString(*stream, 0); + debugPrintf("%s %s (data)\n", md5.c_str(), macResMan.getBaseFileName().c_str()); + } } macResMan.close(); } -- cgit v1.2.3