more flexible on extracting insn menemonic, as sometimes space can be used as separator, not only tab
diff --git a/cs.c b/cs.c
index 71ed9d8..70ae05e 100644
--- a/cs.c
+++ b/cs.c
@@ -180,10 +180,14 @@
printer(insn->id, insn, buffer);
// fill in mnemonic & operands
- char *tab = strchr(buffer, '\t');
- if (tab) {
- *tab = '\0';
- strncpy(insn->op_str, tab + 1, sizeof(insn->op_str) - 1);
+ // find first space or tab
+ char *sp = buffer;
+ for (sp = buffer; *sp; sp++)
+ if (*sp == ' '||*sp == '\t')
+ break;
+ if (*sp) {
+ *sp = '\0';
+ strncpy(insn->op_str, sp + 1, sizeof(insn->op_str) - 1);
insn->op_str[sizeof(insn->op_str) - 1] = '\0';
} else
insn->op_str[0] = '\0';