summaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
authorTimo Sirainen <cras@irssi.org>2000-07-09 00:03:46 +0000
committercras <cras@dbcabf3a-b0e7-0310-adc4-f8d773084564>2000-07-09 00:03:46 +0000
commit8bea491a572a4038ea23d38fb6b9691bbd3a44a3 (patch)
treeb6cc9fee93ddb482573303244d29180a02afd89a /src/core
parentabb46a03131575d3d3c980b9813941671620c67b (diff)
downloadirssi-8bea491a572a4038ea23d38fb6b9691bbd3a44a3.zip
Moved is_base_command() from command completion to command_have_sub()
in core/commands. /HELP <command with subcommands> works now right. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@437 dbcabf3a-b0e7-0310-adc4-f8d773084564
Diffstat (limited to 'src/core')
-rw-r--r--src/core/commands.c19
-rw-r--r--src/core/commands.h1
2 files changed, 20 insertions, 0 deletions
diff --git a/src/core/commands.c b/src/core/commands.c
index 12131d10..fbfc7c37 100644
--- a/src/core/commands.c
+++ b/src/core/commands.c
@@ -52,6 +52,25 @@ COMMAND_REC *command_find(const char *cmd)
return NULL;
}
+int command_have_sub(const char *command)
+{
+ GSList *tmp;
+ int len;
+
+ g_return_val_if_fail(command != NULL, FALSE);
+
+ /* find "command "s */
+ len = strlen(command);
+ for (tmp = commands; tmp != NULL; tmp = tmp->next) {
+ COMMAND_REC *rec = tmp->data;
+
+ if (g_strncasecmp(rec->cmd, command, len) == 0 && rec->cmd[len] == ' ')
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
void command_bind_to(int pos, const char *cmd, const char *category, SIGNAL_FUNC func)
{
COMMAND_REC *rec;
diff --git a/src/core/commands.h b/src/core/commands.h
index 29ddbfb4..3201c5ab 100644
--- a/src/core/commands.h
+++ b/src/core/commands.h
@@ -52,6 +52,7 @@ void command_unbind(const char *cmd, SIGNAL_FUNC func);
void command_runsub(const char *cmd, const char *data, void *server, void *item);
COMMAND_REC *command_find(const char *cmd);
+int command_have_sub(const char *command);
/* Specify options that command can accept. `options' contains list of
options separated with space, each option can contain a special