From 68a288c4a2d01aa35ca7042cff7ab2545ae9e825 Mon Sep 17 00:00:00 2001 From: satk0 Date: Sun, 23 Jun 2024 21:36:13 +0200 Subject: [PATCH 1/2] Fix rparse to rcore binding --- afen/README.md | 4 ++-- afen/src/main.c | 32 ++++++++++++++++++++------------ 2 files changed, 22 insertions(+), 14 deletions(-) diff --git a/afen/README.md b/afen/README.md index a4fcbbc81..6cc6ece53 100644 --- a/afen/README.md +++ b/afen/README.md @@ -19,9 +19,9 @@ Install: meson install -C build -## Running: +## Run: - r2 -e asm.pseudo=true + r2 -e asm.parser=rparse-afen -e asm.pseudo=true ## Usage: diff --git a/afen/src/main.c b/afen/src/main.c index fb45926f6..545682ace 100644 --- a/afen/src/main.c +++ b/afen/src/main.c @@ -8,8 +8,7 @@ static RList *old_names; static RList *new_names; // afen parser -static int r_afen_parse(RParse *p, const char *data, char *str) { - int res = true; +static int r_parse_afen(RParse *p, const char *data, char *str) { char *input = strdup (data); int n = r_list_length(old_names); @@ -31,29 +30,37 @@ static int r_afen_parse(RParse *p, const char *data, char *str) { } strcpy (str, input); - return res; + return true; } +// RParse plugin Definition Info +RParsePlugin r_parse_plugin_afen = { + .name = "rparse-afen", + .desc = "Afen parse plugin", + .parse = r_parse_afen, +}; + // sets afen parser -static int r_cmd_init(void *user, const char *input) { +static int r_core_init_afen(void *user, const char *input) { RCmd *rcmd = (RCmd *) user; RCore *core = (RCore *) rcmd->data; + + r_parse_plugin_add(core->parser, &r_parse_plugin_afen); + old_names = r_list_new (); new_names = r_list_new (); - - core->parser->cur->parse = r_afen_parse; return true; } -static int r_cmd_fini(void *user, const char *input) { +static int r_core_fini_afen(void *user, const char *input) { r_list_free(old_names); r_list_free(new_names); return true; } -static int r_cmd_afen_client(void *user, const char *input) { +static int r_core_call_afen(void *user, const char *input) { if (r_str_startswith (input, "afen")) { int *argc = (int*) malloc(sizeof(int)); char **argv = r_str_argv(input, argc); @@ -71,7 +78,8 @@ static int r_cmd_afen_client(void *user, const char *input) { return false; } -// PLUGIN Definition Info + +// RCore plugin Definition Info RCorePlugin r_core_plugin_afen = { .meta = { .name = "core-afen", @@ -79,9 +87,9 @@ RCorePlugin r_core_plugin_afen = { .author = "satk0", .license = "GPLv3", }, - .call = r_cmd_afen_client, - .init = r_cmd_init, - .fini = r_cmd_fini + .call = r_core_call_afen, + .init = r_core_init_afen, + .fini = r_core_fini_afen }; From 0ce33967ad08f037d9ab669940edfa4f3741458f Mon Sep 17 00:00:00 2001 From: satk0 Date: Tue, 25 Jun 2024 17:03:22 +0200 Subject: [PATCH 2/2] Fixes according to the review --- afen/README.md | 2 +- afen/src/main.c | 26 +++++++++++++------------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/afen/README.md b/afen/README.md index 6cc6ece53..98ee8d4c4 100644 --- a/afen/README.md +++ b/afen/README.md @@ -21,7 +21,7 @@ Install: ## Run: - r2 -e asm.parser=rparse-afen -e asm.pseudo=true + r2 -e asm.parser=afen -e asm.pseudo=true ## Usage: diff --git a/afen/src/main.c b/afen/src/main.c index 545682ace..109cfd80d 100644 --- a/afen/src/main.c +++ b/afen/src/main.c @@ -11,9 +11,9 @@ static RList *new_names; static int r_parse_afen(RParse *p, const char *data, char *str) { char *input = strdup (data); - int n = r_list_length(old_names); + int n = r_list_length (old_names); - if (n){ + if (n) { RListIter *s_iter_old = NULL; RListIter *s_iter_new = NULL; @@ -23,8 +23,8 @@ static int r_parse_afen(RParse *p, const char *data, char *str) { for (int i = 0; i < n; ++i) { input = r_str_replace_all (input, s_iter_old->data, s_iter_new->data); - s_iter_old = r_list_iter_get_next(s_iter_old); - s_iter_new = r_list_iter_get_next(s_iter_new); + s_iter_old = r_list_iter_get_next (s_iter_old); + s_iter_new = r_list_iter_get_next (s_iter_new); } } @@ -35,7 +35,7 @@ static int r_parse_afen(RParse *p, const char *data, char *str) { // RParse plugin Definition Info RParsePlugin r_parse_plugin_afen = { - .name = "rparse-afen", + .name = "afen", .desc = "Afen parse plugin", .parse = r_parse_afen, }; @@ -45,7 +45,7 @@ static int r_core_init_afen(void *user, const char *input) { RCmd *rcmd = (RCmd *) user; RCore *core = (RCore *) rcmd->data; - r_parse_plugin_add(core->parser, &r_parse_plugin_afen); + r_parse_plugin_add (core->parser, &r_parse_plugin_afen); old_names = r_list_new (); new_names = r_list_new (); @@ -54,24 +54,24 @@ static int r_core_init_afen(void *user, const char *input) { } static int r_core_fini_afen(void *user, const char *input) { - r_list_free(old_names); - r_list_free(new_names); + r_list_free (old_names); + r_list_free (new_names); return true; } static int r_core_call_afen(void *user, const char *input) { if (r_str_startswith (input, "afen")) { - int *argc = (int*) malloc(sizeof(int)); - char **argv = r_str_argv(input, argc); + int *argc = (int*) malloc (sizeof (int)); + char **argv = r_str_argv (input, argc); if (*argc != 3) { - r_cons_printf("Usage: afen new_name old_name\n"); + r_cons_printf ("Usage: afen new_name old_name\n"); return true; } - r_list_append(new_names, argv[1]); - r_list_append(old_names, argv[2]); + r_list_append (new_names, argv[1]); + r_list_append (old_names, argv[2]); return true; }