diff options
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/commands.c | 4 | ||||
-rw-r--r-- | src/core/commands.h | 6 |
2 files changed, 7 insertions, 3 deletions
diff --git a/src/core/commands.c b/src/core/commands.c index 10cf9123..1a05e7a3 100644 --- a/src/core/commands.c +++ b/src/core/commands.c @@ -39,7 +39,7 @@ char *current_command; static GSList *cmdget_funcs; static int signal_default_command; -void command_bind(const char *cmd, const char *category, SIGNAL_FUNC func) +void command_bind_to(int pos, const char *cmd, const char *category, SIGNAL_FUNC func) { COMMAND_REC *rec; char *str; @@ -53,7 +53,7 @@ void command_bind(const char *cmd, const char *category, SIGNAL_FUNC func) if (func != NULL) { str = g_strconcat("command ", cmd, NULL); - signal_add(str, func); + signal_add_to(MODULE_NAME, pos, str, func); g_free(str); } diff --git a/src/core/commands.h b/src/core/commands.h index 554a60e5..dcff89c2 100644 --- a/src/core/commands.h +++ b/src/core/commands.h @@ -25,7 +25,11 @@ enum { extern GSList *commands; extern char *current_command; -void command_bind(const char *cmd, const char *category, SIGNAL_FUNC func); +void command_bind_to(int pos, const char *cmd, const char *category, SIGNAL_FUNC func); +#define command_bind(a, b, c) command_bind_to(1, a, b, c) +#define command_bind_first(a, b, c) command_bind_to(0, a, b, c) +#define command_bind_last(a, b, c) command_bind_to(2, a, b, c) + void command_unbind(const char *cmd, SIGNAL_FUNC func); void command_runsub(const char *cmd, const char *data, void *p1, void *p2); |