From ba7d9d045a36e628ea6e733ae7da0e78b0f93ed4 Mon Sep 17 00:00:00 2001 From: clc5q <clc5q@git.zephyr-software.com> Date: Sat, 7 May 2016 20:02:00 +0000 Subject: [PATCH] Handle stupid beaEngine r14B register the same as r14b because those bozos have an alias just for r14b. Fix case fall-through in SegReg initialization. Former-commit-id: eb3f8ee6ba621f38f5408539e85302b26dcba8da --- src/interfaces/irdb/STARS_IRDB_Op.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/interfaces/irdb/STARS_IRDB_Op.cpp b/src/interfaces/irdb/STARS_IRDB_Op.cpp index eb67dc81..9e5e9acd 100644 --- a/src/interfaces/irdb/STARS_IRDB_Op.cpp +++ b/src/interfaces/irdb/STARS_IRDB_Op.cpp @@ -67,7 +67,7 @@ STARS_IRDB_op_t::STARS_IRDB_op_t(const DISASM &d, int indx, const ARGTYPE &the_a if (the_arg.ArgMnemonic[0] == 'r') { byteWidth = 8; size_t ArgNameLen = strlen(the_arg.ArgMnemonic); - char Suffix = the_arg.ArgMnemonic[ArgNameLen - 1]; + char Suffix = (char) tolower(the_arg.ArgMnemonic[ArgNameLen - 1]); if ('b' == Suffix) byteWidth = 1; else if ('w' == Suffix) @@ -248,6 +248,7 @@ no operands for eflags or mxcsr? { case 0: // bea reporting 0 means no register. SegReg=STARS_x86_R_none; // map to no reg. + break; case ESReg: // bea seg reg ESReg maps to SegReg=STARS_x86_R_es; // STARS_x86_R_es reg. break; -- GitLab