Skip to content

Commit

Permalink
Removed agft tiny graph edges
Browse files Browse the repository at this point in the history
Refactor for cleaner command handling in cmd_anal.c

Fix aggt graph edges
  • Loading branch information
cyanpencil committed May 24, 2018
1 parent 3c8d7d5 commit f4864d0
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 31 deletions.
48 changes: 17 additions & 31 deletions libr/core/cmd_anal.c
Expand Up @@ -5722,7 +5722,10 @@ static void cmd_agraph_print(RCore *core, const char *input) {
break;
case 't':// "aggt" - tiny graph
core->graph->is_tiny = true;
int e = r_config_get_i (core->config, "graph.edges");
r_config_set_i (core->config, "graph.edges", 0);
r_core_visual_graph (core, core->graph, NULL, false);
r_config_set_i (core->config, "graph.edges", e);
core->graph->is_tiny = false;
break;
case 'k': // "aggk"
Expand Down Expand Up @@ -5820,9 +5823,12 @@ static void cmd_anal_graph(RCore *core, const char *input) {
r_cons_show_cursor (true);
break;
case 't': { // "agft" - tiny graph
int e = r_config_get_i (core->config, "graph.edges");
r_config_set_i (core->config, "graph.edges", 0);
ut64 off_fcn = (*(input + 2)) ? r_num_math (core->num, input + 2) : core->offset;
RAnalFunction *fcn = r_anal_get_fcn_in (core->anal, off_fcn, 0);
r_core_visual_graph (core, NULL, fcn, 2);
r_config_set_i (core->config, "graph.edges", e);
break;
}
case 'd': // "agfd"
Expand Down Expand Up @@ -5915,11 +5921,7 @@ static void cmd_anal_graph(RCore *core, const char *input) {
case ' ':
case 0: {
core->graph->is_callgraph = true;
char *cmd = r_str_newf ("ag-; .agC*; agg%c;", input[1]);
if (cmd && *cmd) {
r_core_cmd0 (core, cmd);
}
free (cmd);
r_core_cmdf (core, "ag-; .agC*; agg%c;", input[1]);
core->graph->is_callgraph = false;
break;
}
Expand All @@ -5941,7 +5943,7 @@ static void cmd_anal_graph(RCore *core, const char *input) {
break;
}
break;
case 'r': // agr "refs"
case 'r': // "agr" references graph
switch (input[1]) {
case 'v':
case 't':
Expand All @@ -5952,12 +5954,8 @@ static void cmd_anal_graph(RCore *core, const char *input) {
case 'k':
case 'w':
case ' ': {
char *cmd = r_str_newf ("ag-; .agr* %lld; agg%c;",
input[2] ? r_num_math (core->num, input + 2) : core->offset, input[1]);
if (cmd && *cmd) {
r_core_cmd0 (core, cmd);
}
free (cmd);
ut64 addr = input[2] ? r_num_math (core->num, input + 2) : core->offset;
r_core_cmdf (core, "ag-; .agr* %lld; agg%c;", addr, input[1]);
break;
}
case '*': {
Expand Down Expand Up @@ -6005,7 +6003,7 @@ static void cmd_anal_graph(RCore *core, const char *input) {
break;
}
break;
case 'x': // agx "cross refs"
case 'x': // "agx" cross refs
switch (input[1]) {
case 'v':
case 't':
Expand All @@ -6016,12 +6014,8 @@ static void cmd_anal_graph(RCore *core, const char *input) {
case 'k':
case 'w':
case ' ': {
char *cmd = r_str_newf ("ag-; .agx* %lld; agg%c;",
input[2] ? r_num_math (core->num, input + 2) : core->offset, input[1]);
if (cmd && *cmd) {
r_core_cmd0 (core, cmd);
}
free (cmd);
ut64 addr = input[2] ? r_num_math (core->num, input + 2) : core->offset;
r_core_cmdf (core, "ag-; .agx* %lld; agg%c;", addr, input[1]);
break;
}
case '*': {
Expand Down Expand Up @@ -6067,13 +6061,9 @@ static void cmd_anal_graph(RCore *core, const char *input) {
case 'w':
case ' ': {
core->graph->is_callgraph = true;
char *cmd = r_str_newf ("ag-; .agc* %lld; agg%c;",
input[2] ? r_num_math (core->num, input + 2) : core->offset, input[1]);
if (cmd && *cmd) {
r_core_cmd0 (core, cmd);
}
ut64 addr = input[2] ? r_num_math (core->num, input + 2) : core->offset;
r_core_cmdf (core, "ag-; .agc* %lld; agg%c;", addr, input[1]);
core->graph->is_callgraph = false;
free (cmd);
break;
}
case 0:
Expand Down Expand Up @@ -6130,12 +6120,8 @@ static void cmd_anal_graph(RCore *core, const char *input) {
case 'J':
case 'd':
case ' ': {
char *cmd = r_str_newf ("ag-; .aga* %lld; agg%c;",
input[2] ? r_num_math (core->num, input + 2) : core->offset, input[1]);
if (cmd && *cmd) {
r_core_cmd0 (core, cmd);
}
free (cmd);
ut64 addr = input[2] ? r_num_math (core->num, input + 2): core->offset;
r_core_cmdf (core, "ag-; .aga* %lld; agg%c;", addr, input[1]);
break;
}
case 0:
Expand Down
1 change: 1 addition & 0 deletions libr/core/graph.c
Expand Up @@ -3708,6 +3708,7 @@ R_API int r_core_visual_graph(RCore *core, RAGraph *g, RAnalFunction *_fcn, int
g->movspeed = r_config_get_i (core->config, "graph.scroll");
g->on_curnode_change = (RANodeCallback) seek_to_node;
g->on_curnode_change_data = core;
g->edgemode = r_config_get_i (core->config, "graph.edges");
bool asm_comments = r_config_get_i (core->config, "asm.comments");
r_config_set (core->config, "asm.comments",
r_str_bool (r_config_get_i (core->config, "graph.comments")));
Expand Down

0 comments on commit f4864d0

Please sign in to comment.