7 static const char *
cmp_op[] = {
"<",
"<=",
"==",
"!=",
">",
">=",
"in",
"not in",
"is",
"is not",
"exception match",
"BAD" };
14 st64 start_offset, end_offset;
17 rz_list_foreach (cobjs,
iter, t) {
18 start_offset = t->start_offset;
19 end_offset = t->end_offset;
20 if (start_offset <=
pc &&
pc < end_offset) {
41 if (
op >=
ops->have_argument) {
42 if (
ops->bits == 16) {
49 const char *
arg =
parse_arg(&
ops->opcodes[
op], oparg,
names, consts, varnames, interned_table, freevars, cellvars,
ops->opcode_arg_fmt);
54 }
else if (
ops->bits == 8) {
73 rz_list_foreach (opcode_arg_fmt,
i, fmt)
125 if (!cellvars || !freevars) {
160 rz_list_foreach (l,
iter,
e) {
168 buf[strlen(
buf) - 1] =
'\0';
static const char * arg(RzAnalysis *a, csh *handle, cs_insn *insn, char *buf, int n)
RZ_API void Ht_() free(HtName_(Ht) *ht)
RZ_API RZ_BORROW void * rz_list_get_n(RZ_NONNULL const RzList *list, ut32 n)
Returns the N-th element of the list.
RZ_API ut32 rz_list_length(RZ_NONNULL const RzList *list)
Returns the length of the list.
static char * generic_array_obj_to_string(RzList *l)
static const char * parse_arg(pyc_opcode_object *op, ut32 oparg, RzList *names, RzList *consts, RzList *varnames, RzList *interned_table, RzList *freevars, RzList *cellvars, RzList *opcode_arg_fmt)
int rz_pyc_disasm(RzAsmOp *opstruct, const ut8 *code, RzList *cobjs, RzList *interned_table, ut64 pc, pyc_opcodes *ops)
static const char * cmp_op[]
RZ_API char * rz_str_newf(const char *fmt,...) RZ_PRINTF_CHECK(1
RZ_API char * rz_str_new(const char *str)
RZ_API const char * rz_strbuf_set(RzStrBuf *sb, const char *s)
RZ_API char * rz_strbuf_get(RzStrBuf *sb)
RZ_API bool rz_strbuf_append(RzStrBuf *sb, const char *s)
RZ_API RzStrBuf * rz_strbuf_new(const char *s)
RZ_API void rz_strbuf_free(RzStrBuf *sb)
RZ_API bool rz_strbuf_appendf(RzStrBuf *sb, const char *fmt,...) RZ_PRINTF_CHECK(2
const char *(* formatter)(ut32 oparg)
ut64(WINAPI *w32_GetEnabledXStateFeatures)()