[Scummvm-cvs-logs] SF.net SVN: scummvm:[50774] scummvm/trunk/engines/sci/engine/vm.cpp
m_kiewitz at users.sourceforge.net
m_kiewitz at users.sourceforge.net
Fri Jul 9 23:51:21 CEST 2010
Revision: 50774
http://scummvm.svn.sourceforge.net/scummvm/?rev=50774&view=rev
Author: m_kiewitz
Date: 2010-07-09 21:51:20 +0000 (Fri, 09 Jul 2010)
Log Message:
-----------
SCI: improve error message on subcall signature mismatch
Modified Paths:
--------------
scummvm/trunk/engines/sci/engine/vm.cpp
Modified: scummvm/trunk/engines/sci/engine/vm.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/vm.cpp 2010-07-09 21:49:07 UTC (rev 50773)
+++ scummvm/trunk/engines/sci/engine/vm.cpp 2010-07-09 21:51:20 UTC (rev 50774)
@@ -831,7 +831,12 @@
workaround = trackOriginAndFindWorkaround(0, kernelSubCall.workarounds, &originReply);
if ((workaround.segment == 0xFFFF) && (workaround.offset == 0xFFFF)) {
kernel->signatureDebug(kernelSubCall.signature, argc, argv);
- error("[VM] k%s (%x) signature mismatch via method %s::%s (script %d, localCall %x)", kernelSubCall.name, kernelCallNr, originReply.objectName.c_str(), originReply.methodName.c_str(), originReply.scriptNr, originReply.localCallOffset);
+ int callNameLen = strlen(kernelCall.name);
+ if (strncmp(kernelCall.name, kernelSubCall.name, callNameLen) == 0) {
+ const char *subCallName = kernelSubCall.name + callNameLen;
+ error("[VM] k%s(%s): signature mismatch via method %s::%s (script %d, localCall %x)", kernelCall.name, subCallName, originReply.objectName.c_str(), originReply.methodName.c_str(), originReply.scriptNr, originReply.localCallOffset);
+ }
+ error("[VM] k%s: signature mismatch via method %s::%s (script %d, localCall %x)", kernelSubCall.name, originReply.objectName.c_str(), originReply.methodName.c_str(), originReply.scriptNr, originReply.localCallOffset);
}
// FIXME: implement some real workaround type logic - ignore call, still do call etc.
if (workaround.segment)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list