Skip to content

Commit e675f86

Browse files
radaretrufae
authored andcommitted
Make rafs2 accessible from inside radare ##shell
1 parent b0ca92d commit e675f86

File tree

4 files changed

+14
-6
lines changed

4 files changed

+14
-6
lines changed

libr/core/cmd.c

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -360,6 +360,7 @@ static RCoreHelpMessage help_msg_r = {
360360
"radare2", " [...]", "run radare2's main",
361361
"radiff2", " [...]", "run radiff2's main",
362362
"rafind2", " [...]", "run rafind2's main",
363+
"rafs2", " [...]", "run rafs2's main",
363364
"rahash2", " [...]", "run rahash2's main",
364365
"rasm2", " [...]", "run rasm2's main",
365366
"ravc2", " [...]", "run ravc2's main",
@@ -2782,8 +2783,11 @@ static int __runMain(RMainCallback cb, const char *arg) {
27822783
static bool cmd_r2cmd(RCore *core, const char *_input) {
27832784
char *input = r_str_newf ("r%s", _input);
27842785
int rc = 0;
2786+
27852787
if (r_str_startswith (input, "rax2")) {
27862788
rc = __runMain (core->r_main_rax2, input);
2789+
} else if (r_str_startswith (input, "r2")) {
2790+
rc = __runMain (core->r_main_radare2, input);
27872791
} else if (r_str_startswith (input, "rapatch2")) {
27882792
r_sys_cmdf ("%s", input);
27892793
// rc = __runMain (r_main_rapatch2, input);
@@ -2799,6 +2803,8 @@ static bool cmd_r2cmd(RCore *core, const char *_input) {
27992803
} else if (r_str_startswith (input, "ragg2")) {
28002804
r_sys_cmdf ("%s", input);
28012805
// rc = __runMain (core->r_main_ragg2, input);
2806+
} else if (r_str_startswith (input, "rafs2")) {
2807+
rc = __runMain (core->r_main_rafs2, input);
28022808
} else if (r_str_startswith (input, "ravc2")) {
28032809
rc = __runMain (core->r_main_ravc2, input);
28042810
} else if (r_str_startswith (input, "r2pm")) {
@@ -2816,7 +2822,7 @@ static bool cmd_r2cmd(RCore *core, const char *_input) {
28162822
// rc = __runMain (core->r_main_radare2, input);
28172823
} else {
28182824
const char *r2cmds[] = {
2819-
"rax2", "r2pm", "rasm2", "rabin2", "rahash2", "rafind2", "rarun2", "ragg2", "radare2", "r2", NULL
2825+
"rax2", "r2pm", "rafs2", "rasm2", "rabin2", "rahash2", "rafind2", "rarun2", "ragg2", "radare2", "r2", NULL
28202826
};
28212827
int i;
28222828
for (i = 0; r2cmds[i]; i++) {
@@ -2825,12 +2831,12 @@ static bool cmd_r2cmd(RCore *core, const char *_input) {
28252831
return true;
28262832
}
28272833
}
2834+
r_core_cmd_help_contains (core, help_msg_r, "ra");
28282835
free (input);
28292836
return false;
28302837
}
28312838
free (input);
28322839
r_core_return_value (core, rc);
2833-
// r_core_return_code (core, rc);
28342840
return true;
28352841
}
28362842

@@ -2870,7 +2876,7 @@ static int cmd_resize(void *data, const char *input) {
28702876
return cmd_rebase (core, input + 1);
28712877
case '2': // "r2" // XXX should be handled already in cmd_r2cmd()
28722878
if (r_str_startswith (input + 1, "ai")) {
2873-
R_LOG_ERROR ("Missing plugin. Run: r2pm -ci r2yara");
2879+
R_LOG_ERROR ("Missing plugin. Run: r2pm -ci r2ai");
28742880
r_core_return_code (core, 1);
28752881
return true;
28762882
}

libr/include/r_core.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -434,11 +434,11 @@ struct r_core_t {
434434
RThreadLock *lock;
435435
bool in_log_process; // false;
436436
RMainCallback r_main_radare2;
437-
// int (*r_main_radare2)(int argc, char **argv);
438437
int (*r_main_rafind2)(int argc, const char **argv);
439438
int (*r_main_ravc2)(int argc, const char **argv);
440439
int (*r_main_r2pm)(int argc, const char **argv);
441440
int (*r_main_radiff2)(int argc, const char **argv);
441+
int (*r_main_rafs2)(int argc, const char **argv);
442442
int (*r_main_rabin2)(int argc, const char **argv);
443443
int (*r_main_rarun2)(int argc, const char **argv);
444444
int (*r_main_ragg2)(int argc, const char **argv);

libr/main/main.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
1-
/* radare - LGPL - Copyright 2012-2024 - pancake */
1+
/* radare - LGPL - Copyright 2012-2025 - pancake */
22

33
#include <r_main.h>
44

55
R_LIB_VERSION(r_main);
66

7-
static RMain foo[] = {
7+
static const RMain foo[] = {
88
{ "r2pm", r_main_r2pm },
99
{ "rax2", r_main_rax2 },
1010
{ "radiff2", r_main_radiff2 },
1111
{ "rafind2", r_main_rafind2 },
1212
{ "ravc2", r_main_ravc2 },
1313
{ "rarun2", r_main_rarun2 },
14+
{ "rafs2", r_main_rafs2 },
1415
{ "rasm2", r_main_rasm2 },
1516
{ "ragg2", r_main_ragg2 },
1617
{ "rapatch2", r_main_rapatch2 },

libr/main/radare2.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -764,6 +764,7 @@ R_API int r_main_radare2(int argc, const char **argv) {
764764
r->r_main_rabin2 = r_main_rabin2;
765765
r->r_main_ragg2 = r_main_ragg2;
766766
r->r_main_rasm2 = r_main_rasm2;
767+
r->r_main_rafs2 = r_main_rafs2;
767768
r->r_main_rax2 = r_main_rax2;
768769
r->r_main_ravc2 = r_main_ravc2;
769770
r->r_main_r2pm = r_main_r2pm;

0 commit comments

Comments
 (0)