From c6288d89f9682ee090f5776956cc2e6e8e6889bc Mon Sep 17 00:00:00 2001 From: James Booth Date: Thu, 23 Jun 2016 00:26:50 +0100 Subject: Add function to get C plugin name --- src/plugins/c_api.c | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) (limited to 'src/plugins/c_api.c') diff --git a/src/plugins/c_api.c b/src/plugins/c_api.c index 770fd9a3..726f7d45 100644 --- a/src/plugins/c_api.c +++ b/src/plugins/c_api.c @@ -53,6 +53,8 @@ typedef struct window_wrapper_t { void(*func)(char *tag, char *line); } WindowWrapper; +static char* _c_plugin_name(const char *filename); + static void c_api_cons_alert(void) { @@ -78,10 +80,13 @@ c_api_cons_bad_cmd_usage(const char *const cmd) } static void -c_api_register_command(const char *command_name, int min_args, int max_args, +c_api_register_command(const char *filename, const char *command_name, int min_args, int max_args, const char **synopsis, const char *description, const char *arguments[][2], const char **examples, void(*callback)(char **args)) { + char *plugin_name = _c_plugin_name(filename); + log_debug("FILENAME : %s", plugin_name); + CommandWrapper *wrapper = malloc(sizeof(CommandWrapper)); wrapper->func = callback; api_register_command(command_name, min_args, max_args, synopsis, @@ -297,7 +302,7 @@ c_api_init(void) prof_cons_show = c_api_cons_show; prof_cons_show_themed = c_api_cons_show_themed; prof_cons_bad_cmd_usage = c_api_cons_bad_cmd_usage; - prof_register_command = c_api_register_command; + _prof_register_command = c_api_register_command; prof_register_timed = c_api_register_timed; prof_completer_add = c_api_completer_add; prof_completer_remove = c_api_completer_remove; @@ -328,3 +333,17 @@ c_api_init(void) prof_incoming_message = c_api_incoming_message; prof_disco_add_feature = c_api_disco_add_feature; } + +static char * +_c_plugin_name(const char *filename) +{ + GString *plugin_name_str = g_string_new(""); + char *name = strndup(filename, strlen(filename)-1); + g_string_append(plugin_name_str, name); + free(name); + g_string_append(plugin_name_str, "so"); + char *result = plugin_name_str->str; + g_string_free(plugin_name_str, FALSE); + + return result; +} -- cgit 1.4.1-2-gfad0