x86: fix X86_REL_ADDR macro - handle two-byte jump instructions
diff --git a/include/capstone/x86.h b/include/capstone/x86.h
index d31ceee..daf8ecf 100644
--- a/include/capstone/x86.h
+++ b/include/capstone/x86.h
@@ -11,7 +11,9 @@
#include "platform.h"
// Calculate relative address for X86-64, given cs_insn structure
-#define X86_REL_ADDR(insn) (insn.address + insn.size + insn.detail->x86.disp)
+#define X86_REL_ADDR(insn) (((insn).detail->x86.operands[0].type == X86_OP_IMM) \
+ ? (uint64_t)((insn).detail->x86.operands[0].imm) \
+ : (((insn).address + (insn).size) + (uint64_t)(insn).detail->x86.disp))
//> X86 registers
typedef enum x86_reg {