Skip to content

Commit

Permalink
Revert "[WIP] Colorize function arguments and variables part 2 (radar…
Browse files Browse the repository at this point in the history
…eorg#10777)"

This PARTIALLY reverts commit 13a2cb3.
All the updates to cons/d/* files were not reverted.
  • Loading branch information
ret2libc committed Jul 23, 2018
1 parent 008354f commit ceab227
Show file tree
Hide file tree
Showing 12 changed files with 63 additions and 114 deletions.
12 changes: 3 additions & 9 deletions libr/anal/var.c
Expand Up @@ -793,15 +793,9 @@ R_API RList *r_anal_var_all_list(RAnal *anal, RAnalFunction *fcn) {
if (!list) {
return NULL;
}
RList *reg_vars = r_anal_var_list (anal, fcn, R_ANAL_VAR_KIND_REG);
RList *bpv_vars = r_anal_var_list (anal, fcn, R_ANAL_VAR_KIND_BPV);
RList *spv_vars = r_anal_var_list (anal, fcn, R_ANAL_VAR_KIND_SPV);
r_list_join (list, reg_vars);
r_list_join (list, bpv_vars);
r_list_join (list, spv_vars);
r_list_free (reg_vars);
r_list_free (bpv_vars);
r_list_free (spv_vars);
r_list_join (list, r_anal_var_list (anal, fcn, R_ANAL_VAR_KIND_REG));
r_list_join (list, r_anal_var_list (anal, fcn, R_ANAL_VAR_KIND_BPV));
r_list_join (list, r_anal_var_list (anal, fcn, R_ANAL_VAR_KIND_SPV));
return list;
}

Expand Down
12 changes: 6 additions & 6 deletions libr/cons/pal.c
Expand Up @@ -47,9 +47,9 @@ static struct {
{ "creg", r_offsetof (RConsPrintablePalette, creg), r_offsetof (RConsPalette, creg) },
{ "num", r_offsetof (RConsPrintablePalette, num), r_offsetof (RConsPalette, num) },
{ "mov", r_offsetof (RConsPrintablePalette, mov), r_offsetof (RConsPalette, mov) },
{ "func_var", r_offsetof (RConsPrintablePalette, func_var), r_offsetof (RConsPalette, func_var) },
{ "func_var_type", r_offsetof (RConsPrintablePalette, func_var_type), r_offsetof (RConsPalette, func_var_type) },
{ "func_var_addr", r_offsetof (RConsPrintablePalette, func_var_addr), r_offsetof (RConsPalette, func_var_addr) },
{ "func_arg", r_offsetof (RConsPrintablePalette, func_arg), r_offsetof (RConsPalette, func_arg) },
{ "func_arg_type", r_offsetof (RConsPrintablePalette, func_arg_type), r_offsetof (RConsPalette, func_arg_type) },
{ "func_arg_addr", r_offsetof (RConsPrintablePalette, func_arg_addr), r_offsetof (RConsPalette, func_arg_addr) },

{ "ai.read", r_offsetof (RConsPrintablePalette, ai_read), r_offsetof (RConsPalette, ai_read) },
{ "ai.write", r_offsetof (RConsPrintablePalette, ai_write), r_offsetof (RConsPalette, ai_write) },
Expand Down Expand Up @@ -169,9 +169,9 @@ R_API void r_cons_pal_init() {
cons->cpal.wordhl = (RColor) RColor_BGRED;
cons->cpal.linehl = (RColor) RCOLOR (ALPHA_BG, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00);

cons->cpal.func_var = (RColor) RColor_WHITE;
cons->cpal.func_var_type = (RColor) RColor_BLUE;
cons->cpal.func_var_addr = (RColor) RColor_CYAN;
cons->cpal.func_arg = (RColor) RColor_WHITE;
cons->cpal.func_arg_type = (RColor) RColor_BLUE;
cons->cpal.func_arg_addr = (RColor) RColor_CYAN;

cons->cpal.graph_box = (RColor) RColor_NULL;
cons->cpal.graph_box2 = (RColor) RColor_BLUE;
Expand Down
2 changes: 1 addition & 1 deletion libr/core/anal_tp.c
Expand Up @@ -264,7 +264,7 @@ static void type_match(RCore *core, ut64 addr, char *fcn_name, ut64 baddr, const
// Match type from function param to instr
if (type_pos_hit (anal, trace, in_stack, j, size, place)) {
if (!cmt_set && type && name) {
r_meta_set_string (anal, R_META_TYPE_VARTYPE, instr_addr,
r_meta_set_string (anal, R_META_TYPE_COMMENT, instr_addr,
sdb_fmt ("%s%s%s", type, r_str_endswith (type, "*") ? "" : " ", name));
cmt_set = true;
if ((op->ptr && op->ptr != UT64_MAX) && !strcmp (name, "format")) {
Expand Down
6 changes: 3 additions & 3 deletions libr/core/cmd_anal.c
Expand Up @@ -5335,7 +5335,7 @@ static bool cmd_anal_refs(RCore *core, const char *input) {
asmop.buf_asm, str, sizeof (str), core->print->big_endian);
if (has_color) {
buf_asm = r_print_colorize_opcode (core->print, str,
core->cons->pal.reg, core->cons->pal.num, false, fcn ? fcn->addr : 0);
core->cons->pal.reg, core->cons->pal.num, false);
} else {
buf_asm = r_str_new (str);
}
Expand Down Expand Up @@ -5364,7 +5364,6 @@ static bool cmd_anal_refs(RCore *core, const char *input) {
RAnalRef *ref;
RListIter *iter;
char *space = strchr (input, ' ');
RAnalFunction * fcn = r_anal_get_fcn_in (core->anal, addr, 0);

if (space) {
addr = r_num_math (core->num, space + 1);
Expand All @@ -5374,6 +5373,7 @@ static bool cmd_anal_refs(RCore *core, const char *input) {
if (input[1] == '.') { // axf.
list = list_ = r_anal_xrefs_get_from (core->anal, addr);
if (!list) {
RAnalFunction * fcn = r_anal_get_fcn_in (core->anal, addr, 0);
list = r_anal_fcn_get_refs (core->anal, fcn);
}
} else {
Expand Down Expand Up @@ -5412,7 +5412,7 @@ static bool cmd_anal_refs(RCore *core, const char *input) {
asmop.buf_asm, str, sizeof (str), core->print->big_endian);
if (has_color) {
buf_asm = r_print_colorize_opcode (core->print, str,
core->cons->pal.reg, core->cons->pal.num, false, fcn ? fcn->addr : 0);
core->cons->pal.reg, core->cons->pal.num, false);
} else {
buf_asm = r_str_new (str);
}
Expand Down
4 changes: 2 additions & 2 deletions libr/core/cmd_search.c
Expand Up @@ -1091,7 +1091,7 @@ static void print_rop(RCore *core, RList *hitlist, char mode, bool *json_first)
r_cons_printf ("%s\n", opstr);
} else if (colorize) {
buf_asm = r_print_colorize_opcode (core->print, asmop.buf_asm,
core->cons->pal.reg, core->cons->pal.num, false, 0);
core->cons->pal.reg, core->cons->pal.num, false);
r_cons_printf (" %s%s;", buf_asm, Color_RESET);
free (buf_asm);
} else {
Expand Down Expand Up @@ -1128,7 +1128,7 @@ static void print_rop(RCore *core, RList *hitlist, char mode, bool *json_first)
}
if (colorize) {
buf_asm = r_print_colorize_opcode (core->print, asmop.buf_asm,
core->cons->pal.reg, core->cons->pal.num, false, 0);
core->cons->pal.reg, core->cons->pal.num, false);
otype = r_print_color_op_type (core->print, analop.type);
if (comment) {
r_cons_printf (" 0x%08"PFMT64x " %18s%s %s%s ; %s\n",
Expand Down
15 changes: 3 additions & 12 deletions libr/core/core.c
Expand Up @@ -1390,9 +1390,9 @@ static int autocomplete(RLine *line) {
ADDARG("creg")
ADDARG("num")
ADDARG("mov")
ADDARG("func_var")
ADDARG("func_var_type")
ADDARG("func_var_addr")
ADDARG("func_arg")
ADDARG("func_arg_type")
ADDARG("func_arg_addr")
ADDARG("ai.read")
ADDARG("ai.write")
ADDARG("ai.exec")
Expand Down Expand Up @@ -1867,14 +1867,6 @@ static int mywrite(const ut8 *buf, int len) {
return r_cons_memcat ((const char *)buf, len);
}

static bool exists_var(RPrint *print, ut64 func_addr, char *str) {
char *name_key = sdb_fmt ("var.0x%"PFMT64x ".%d.%s", func_addr, 1, str);
if (sdb_const_get_len (((RCore*)(print->user))->anal->sdb_fcns, name_key, NULL, 0)) {
return true;
}
return false;
}

static bool r_core_anal_log(struct r_anal_t *anal, const char *msg) {
RCore *core = anal->user;
if (core->cfglog) {
Expand Down Expand Up @@ -2036,7 +2028,6 @@ R_API bool r_core_init(RCore *core) {
core->print->cb_printf = r_cons_printf;
core->print->cb_color = r_cons_rainbow_get;
core->print->write = mywrite;
core->print->exists_var = exists_var;
core->print->disasm = __disasm;
core->print->colorfor = (RPrintColorFor)r_core_anal_optype_colorfor;
core->print->hasrefs = (RPrintColorFor)r_core_anal_hasrefs;
Expand Down
68 changes: 27 additions & 41 deletions libr/core/disasm.c
Expand Up @@ -211,9 +211,9 @@ typedef struct {
const char *color_gui_alt_background;
const char *color_gui_border;
const char *color_linehl;
const char *color_func_var;
const char *color_func_var_type;
const char *color_func_var_addr;
const char *color_func_arg;
const char *color_func_arg_type;
const char *color_func_arg_addr;

RFlagItem *lastflag;
RAnalHint *hint;
Expand Down Expand Up @@ -561,9 +561,9 @@ static RDisasmState * ds_init(RCore *core) {
ds->color_gui_alt_background = P(gui_alt_background): Color_GRAY;
ds->color_gui_border = P(gui_border): Color_BGGRAY;
ds->color_linehl = P(linehl): Color_BGBLUE;
ds->color_func_var = P(func_var): Color_WHITE;
ds->color_func_var_type = P(func_var_type): Color_BLUE;
ds->color_func_var_addr = P(func_var_addr): Color_CYAN;
ds->color_func_arg = P(func_arg): Color_WHITE;
ds->color_func_arg_type = P(func_arg_type): Color_BLUE;
ds->color_func_arg_addr = P(func_arg_addr): Color_CYAN;

ds->immstr = r_config_get_i (core->config, "asm.imm.str");
ds->immtrim = r_config_get_i (core->config, "asm.imm.trim");
Expand All @@ -578,7 +578,7 @@ static RDisasmState * ds_init(RCore *core) {
ds->asm_anal = r_config_get_i (core->config, "asm.anal");
ds->show_color = r_config_get_i (core->config, "scr.color");
ds->show_color_bytes = r_config_get_i (core->config, "scr.color.bytes"); // maybe rename to asm.color.bytes
ds->show_color_args = r_config_get_i (core->config, "scr.color.args");
ds->show_color_args = r_config_get_i (core->config, "scr.color.args");
ds->colorop = r_config_get_i (core->config, "scr.color.ops"); // XXX confusing name // asm.color.inst (mnemonic + operands) ?
ds->show_utf8 = r_config_get_i (core->config, "scr.utf8");
ds->acase = r_config_get_i (core->config, "asm.ucase");
Expand Down Expand Up @@ -850,7 +850,6 @@ static char *colorize_asm_string(RCore *core, RDisasmState *ds, bool print_color
char *source = ds->opstr? ds->opstr: ds->asmop.buf_asm;
char *hlstr = r_meta_get_string (ds->core->anal, R_META_TYPE_HIGHLIGHT, ds->at);
bool partial_reset = line_highlighted (ds) ? true : ((hlstr && *hlstr) ? true : false);
RAnalFunction *f = ds->show_color_args ? fcnIn (ds, ds->vat, R_ANAL_FCN_TYPE_NULL) : NULL;

if (!ds->show_color || !ds->colorop) {
return strdup (source);
Expand All @@ -865,9 +864,9 @@ static char *colorize_asm_string(RCore *core, RDisasmState *ds, bool print_color
char *scol1, *s1 = r_str_ndup (source, spacer - source);
char *scol2, *s2 = strdup (spacer + 2);

scol1 = r_print_colorize_opcode (ds->core->print, s1, ds->color_reg, ds->color_num, partial_reset, f ? f->addr : 0);
scol1 = r_print_colorize_opcode (ds->core->print, s1, ds->color_reg, ds->color_num, partial_reset);
free (s1);
scol2 = r_print_colorize_opcode (ds->core->print, s2, ds->color_reg, ds->color_num, partial_reset, f ? f->addr : 0);
scol2 = r_print_colorize_opcode (ds->core->print, s2, ds->color_reg, ds->color_num, partial_reset);
free (s2);
if (!scol1) {
scol1 = strdup ("");
Expand All @@ -883,7 +882,7 @@ static char *colorize_asm_string(RCore *core, RDisasmState *ds, bool print_color
return source;
}

return r_print_colorize_opcode (ds->core->print, source, ds->color_reg, ds->color_num, partial_reset, f ? f->addr : 0);
return r_print_colorize_opcode (ds->core->print, source, ds->color_reg, ds->color_num, partial_reset);
}

static bool ds_must_strip(RDisasmState *ds) {
Expand Down Expand Up @@ -1197,7 +1196,7 @@ static void ds_show_xrefs(RDisasmState *ds) {
RFlagItem *f, *next_f;
r_list_foreach (xrefs, iter, refi) {
if (refi->at == ds->at) {
fun = fcnIn (ds, refi->addr, -1);
fun = fcnIn (ds, refi->addr, -1);
if (fun) {
if (iter != xrefs->tail) {
ut64 next_addr = ((RAnalRef *)(iter->n->data))->addr;
Expand Down Expand Up @@ -1400,10 +1399,10 @@ static ut32 tmp_get_realsize (RAnalFunction *f) {
static void ds_show_functions_argvar(RDisasmState *ds, RAnalVar *var, const char *base, bool is_var, char sign) {
int delta = sign == '+' ? var->delta : -var->delta;
const char *pfx = is_var ? "var" : "arg";
r_cons_printf ("%s%s %s%s%s%s %s@ %s%c0x%x", COLOR_ARG (ds, color_func_var), pfx,
COLOR_ARG (ds, color_func_var_type), var->type,
r_cons_printf ("%s%s %s%s%s%s %s@ %s%c0x%x", COLOR_ARG (ds, color_func_arg), pfx,
COLOR_ARG (ds, color_func_arg_type), var->type,
r_str_endswith (var->type, "*") ? "" : " ",
var->name, COLOR_ARG (ds, color_func_var_addr), base, sign, delta);
var->name, COLOR_ARG (ds, color_func_arg_addr), base, sign, delta);
}

static void printVarSummary(RDisasmState *ds, RList *list) {
Expand Down Expand Up @@ -1662,7 +1661,7 @@ static void ds_show_functions(RDisasmState *ds) {
ds_print_offset (ds);
r_cons_printf (" ");
}
r_cons_printf ("%s; ", COLOR_ARG (ds, color_func_var));
r_cons_printf ("%s; ", COLOR (ds, color_other));
switch (var->kind) {
case 'b': {
char sign = var->delta > 0 ? '+' : '-';
Expand All @@ -1677,10 +1676,10 @@ static void ds_show_functions(RDisasmState *ds) {
eprintf("Register not found");
break;
}
r_cons_printf ("%sarg %s%s%s%s %s@ %s", COLOR_ARG (ds, color_func_var),
COLOR_ARG (ds, color_func_var_type),
r_cons_printf ("%sarg %s%s%s%s %s@ %s", COLOR_ARG (ds, color_func_arg),
COLOR_ARG (ds, color_func_arg_type),
var->type, r_str_endswith (var->type, "*") ? "" : " ",
var->name, COLOR_ARG (ds, color_func_var_addr), i->name);
var->name, COLOR_ARG (ds, color_func_arg_addr), i->name);
}
break;
case 's': {
Expand Down Expand Up @@ -1797,24 +1796,13 @@ static void ds_show_comments_right(RDisasmState *ds) {
}
//RAnalFunction *f = r_anal_get_fcn_in (core->anal, ds->at, R_ANAL_FCN_TYPE_NULL);
item = r_flag_get_i (core->flags, ds->at);
char *comment = r_meta_get_string (core->anal, R_META_TYPE_COMMENT, ds->at);
char *vartype = r_meta_get_string (core->anal, R_META_TYPE_VARTYPE, ds->at);
if (!comment) {
if (vartype) {
ds->comment = r_str_newf ("%s%s", COLOR_ARG (ds, color_func_var_type), vartype);
free (vartype);
} else if (item && item->comment && *item->comment) {
ds->ocomment = item->comment;
ds->comment = strdup (item->comment);
} else {
return;
}
} else if (vartype) {
ds->comment = r_str_newf ("%s%s %s; %s", COLOR_ARG (ds, color_func_var_type), vartype, COLOR (ds, color_usrcmt), comment);
free (vartype);
free (comment);
} else {
ds->comment = comment;
ds->comment = r_meta_get_string (core->anal, R_META_TYPE_COMMENT, ds->at);
if (!ds->comment && item && item->comment && *item->comment) {
ds->ocomment = item->comment;
ds->comment = strdup (item->comment);
}
if (!ds->comment) {
return;
}
maxclen = strlen (ds->comment) + 5;
linelen = maxclen;
Expand Down Expand Up @@ -5469,10 +5457,9 @@ R_API int r_core_print_disasm_all(RCore *core, ut64 addr, int l, int len, int mo
if (scr_color) {
char *buf_asm;
RAnalOp aop;
RAnalFunction *f = fcnIn (ds, ds->vat, R_ANAL_FCN_TYPE_NULL);
r_anal_op (core->anal, &aop, addr, buf+i, l-i, R_ANAL_OP_MASK_ALL);
buf_asm = r_print_colorize_opcode (core->print, str,
core->cons->pal.reg, core->cons->pal.num, false, f ? f : 0);
core->cons->pal.reg, core->cons->pal.num, false);
r_cons_printf ("%s%s\n",
r_print_color_op_type (core->print, aop.type),
buf_asm);
Expand Down Expand Up @@ -5959,10 +5946,9 @@ R_API int r_core_disasm_pdi(RCore *core, int nb_opcodes, int nb_bytes, int fmt)
RAnalOp aop = {
0
};
RAnalFunction *f = r_anal_get_fcn_in (core->anal, core->offset + i, R_ANAL_FCN_TYPE_NULL);
r_anal_op (core->anal, &aop, core->offset + i,
core->block + addrbytes * i, core->blocksize - addrbytes * i, R_ANAL_OP_MASK_BASIC);
asm_str = r_print_colorize_opcode (core->print, asm_str, color_reg, color_num, false, f ? f->addr : 0);
asm_str = r_print_colorize_opcode (core->print, asm_str, color_reg, color_num, false);
r_cons_printf ("%s%s"Color_RESET "\n",
r_print_color_op_type (core->print, aop.type),
asm_str);
Expand Down
13 changes: 6 additions & 7 deletions libr/core/vmenus.c
Expand Up @@ -58,13 +58,12 @@ static inline char *getformat (RCoreVisualTypes *vt, const char *k) {
sdb_fmt ("type.%s", k), 0);
}

static char *colorize_asm_string(RCore *core, const char *buf_asm, int optype, ut64 addr) {
static char *colorize_asm_string(RCore *core, const char *buf_asm, int optype) {
char *tmp, *spacer = NULL;
char *source = (char*)buf_asm;
bool use_color = core->print->flags & R_PRINT_FLAGS_COLOR;
const char *color_num = core->cons->pal.num;
const char *color_reg = core->cons->pal.reg;
RAnalFunction* fcn = r_anal_get_fcn_in (core->anal, addr, R_ANAL_FCN_TYPE_NULL);

if (!use_color) {
return strdup (source);
Expand All @@ -74,8 +73,8 @@ static char *colorize_asm_string(RCore *core, const char *buf_asm, int optype, u
if (spacer) {
char *s1 = r_str_ndup (source, spacer - source);
char *s2 = strdup (spacer + 2);
char *scol1 = r_print_colorize_opcode (core->print, s1, color_reg, color_num, false, fcn ? fcn->addr : 0);
char *scol2 = r_print_colorize_opcode (core->print, s2, color_reg, color_num, false, fcn ? fcn->addr : 0);
char *scol1 = r_print_colorize_opcode (core->print, s1, color_reg, color_num, false);
char *scol2 = r_print_colorize_opcode (core->print, s2, color_reg, color_num, false);
char *source = r_str_newf ("%s||%s", r_str_get2 (scol1), r_str_get2 (scol2));
free (scol1);
free (scol2);
Expand All @@ -85,7 +84,7 @@ static char *colorize_asm_string(RCore *core, const char *buf_asm, int optype, u
}
char *res = strdup ("");
res = r_str_append (res, r_print_color_op_type (core->print, optype));
tmp = r_print_colorize_opcode (core->print, source, color_reg, color_num, false, fcn ? fcn->addr : 0);
tmp = r_print_colorize_opcode (core->print, source, color_reg, color_num, false);
res = r_str_append (res, tmp);
free (tmp);
return res;
Expand Down Expand Up @@ -157,7 +156,7 @@ R_API bool r_core_visual_esil(RCore *core) {
free (res);
}
{
char *op = colorize_asm_string (core, asmop.buf_asm, analopType, core->offset);
char *op = colorize_asm_string (core, asmop.buf_asm, analopType);
r_cons_printf (Color_RESET"asm: %s\n"Color_RESET, op);
free (op);
}
Expand Down Expand Up @@ -300,7 +299,7 @@ static bool edit_bits (RCore *core) {
r_cons_printf ("shift: >> %d << %d\n", word, (asmop.size * 8) - word - 1);
}
{
char *op = colorize_asm_string (core, asmop.buf_asm, analopType, core->offset);
char *op = colorize_asm_string (core, asmop.buf_asm, analopType);
r_cons_printf (Color_RESET"asm: %s\n"Color_RESET, op);
free (op);
}
Expand Down
1 change: 0 additions & 1 deletion libr/include/r_anal.h
Expand Up @@ -335,7 +335,6 @@ enum {
R_META_TYPE_COMMENT = 'C',
R_META_TYPE_RUN = 'r',
R_META_TYPE_HIGHLIGHT = 'H',
R_META_TYPE_VARTYPE = 't',
};

// anal
Expand Down
12 changes: 6 additions & 6 deletions libr/include/r_cons.h
Expand Up @@ -207,9 +207,9 @@ typedef struct r_cons_palette_t {
RColor gui_border;
RColor wordhl;
RColor linehl;
RColor func_var;
RColor func_var_type;
RColor func_var_addr;
RColor func_arg;
RColor func_arg_type;
RColor func_arg_addr;

/* Graph colors */
RColor graph_box;
Expand Down Expand Up @@ -275,9 +275,9 @@ typedef struct r_cons_printable_palette_t {
char *gui_border;
char *wordhl;
char *linehl;
char *func_var;
char *func_var_type;
char *func_var_addr;
char *func_arg;
char *func_arg_type;
char *func_arg_addr;

/* graph colors */
char *graph_box;
Expand Down

0 comments on commit ceab227

Please sign in to comment.