diff options
Diffstat (limited to 'src/command')
-rw-r--r-- | src/command/cmd_funcs.c | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/src/command/cmd_funcs.c b/src/command/cmd_funcs.c index 10f64d54..e8322214 100644 --- a/src/command/cmd_funcs.c +++ b/src/command/cmd_funcs.c @@ -7260,7 +7260,14 @@ cmd_plugins(ProfWin* window, const char* const command, gchar** args) } } + GList* plugins = plugins_loaded_list(); GSList* unloaded_plugins = plugins_unloaded_list(); + + if (plugins == NULL && unloaded_plugins == NULL) { + cons_show("No plugins installed."); + return TRUE; + } + if (unloaded_plugins) { GSList* curr = unloaded_plugins; cons_show("The following plugins already installed and can be loaded:"); @@ -7271,19 +7278,15 @@ cmd_plugins(ProfWin* window, const char* const command, gchar** args) g_slist_free_full(unloaded_plugins, g_free); } - GList* plugins = plugins_loaded_list(); - if (plugins == NULL) { - cons_show("No loaded plugins."); - return TRUE; - } - - GList* curr = plugins; - cons_show("Loaded plugins:"); - while (curr) { - cons_show(" %s", curr->data); - curr = g_list_next(curr); + if (plugins) { + GList* curr = plugins; + cons_show("Loaded plugins:"); + while (curr) { + cons_show(" %s", curr->data); + curr = g_list_next(curr); + } + g_list_free(plugins); } - g_list_free(plugins); return TRUE; } |