diff options
author | Willem Jan Palenstijn | 2016-07-03 12:59:59 +0200 |
---|---|---|
committer | GitHub | 2016-07-03 12:59:59 +0200 |
commit | 02acf2e6ee8b3dca41090433ab811655e41fd8b6 (patch) | |
tree | 4629c75584b73fecd20684da90366b6bc551cf59 /engines/sci/engine/kernel.cpp | |
parent | 6a1dbf97b4e724c2f12339eabf0849cc847ec641 (diff) | |
parent | 4b72a42da93da5560ecde38010d328196ff727fd (diff) | |
download | scummvm-rg350-02acf2e6ee8b3dca41090433ab811655e41fd8b6.tar.gz scummvm-rg350-02acf2e6ee8b3dca41090433ab811655e41fd8b6.tar.bz2 scummvm-rg350-02acf2e6ee8b3dca41090433ab811655e41fd8b6.zip |
Merge pull request #741 from wjp/sci-call
SCI: Clean up some aspects of call handling
Diffstat (limited to 'engines/sci/engine/kernel.cpp')
-rw-r--r-- | engines/sci/engine/kernel.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/engines/sci/engine/kernel.cpp b/engines/sci/engine/kernel.cpp index 796dea2382..2fc338b618 100644 --- a/engines/sci/engine/kernel.cpp +++ b/engines/sci/engine/kernel.cpp @@ -84,13 +84,19 @@ uint Kernel::getKernelNamesSize() const { } const Common::String &Kernel::getKernelName(uint number) const { - // FIXME: The following check is a temporary workaround for an issue - // leading to crashes when using the debugger's backtrace command. - if (number >= _kernelNames.size()) - return _invalid; + assert(number < _kernelFuncs.size()); return _kernelNames[number]; } +Common::String Kernel::getKernelName(uint number, uint subFunction) const { + assert(number < _kernelFuncs.size()); + const KernelFunction &kernelCall = _kernelFuncs[number]; + + assert(subFunction < kernelCall.subFunctionCount); + return kernelCall.subFunctions[subFunction].name; +} + + int Kernel::findKernelFuncPos(Common::String kernelFuncName) { for (uint32 i = 0; i < _kernelNames.size(); i++) if (_kernelNames[i] == kernelFuncName) |