diff options
author | Timo Sirainen <cras@irssi.org> | 2000-07-23 23:19:22 +0000 |
---|---|---|
committer | cras <cras@dbcabf3a-b0e7-0310-adc4-f8d773084564> | 2000-07-23 23:19:22 +0000 |
commit | c529fe0096eddd0e6e12157cf8486ad9117de900 (patch) | |
tree | 2f39a225641823277f9acea56a95a6081e2eec99 /src/irc | |
parent | 3e9164df1b9ad8433d3c46745b84c5df5f5207df (diff) | |
download | irssi-c529fe0096eddd0e6e12157cf8486ad9117de900.zip |
Added syntaxes of all commands in comments, they're going to be used to
autogenerate help files.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@529 dbcabf3a-b0e7-0310-adc4-f8d773084564
Diffstat (limited to 'src/irc')
-rw-r--r-- | src/irc/core/bans.c | 4 | ||||
-rw-r--r-- | src/irc/core/irc-commands.c | 64 | ||||
-rw-r--r-- | src/irc/core/irc-rawlog.c | 3 | ||||
-rw-r--r-- | src/irc/core/modes.c | 5 | ||||
-rw-r--r-- | src/irc/core/server-reconnect.c | 2 | ||||
-rw-r--r-- | src/irc/dcc/dcc-chat.c | 8 | ||||
-rw-r--r-- | src/irc/dcc/dcc-files.c | 4 | ||||
-rw-r--r-- | src/irc/dcc/dcc.c | 2 | ||||
-rw-r--r-- | src/irc/notifylist/notify-commands.c | 2 |
9 files changed, 87 insertions, 7 deletions
diff --git a/src/irc/core/bans.c b/src/irc/core/bans.c index 914fad65..b5b4e886 100644 --- a/src/irc/core/bans.c +++ b/src/irc/core/bans.c @@ -196,16 +196,20 @@ static void command_set_ban(const char *data, IRC_SERVER_REC *server, WI_IRC_REC cmd_params_free(free_arg); } +/* SYNTAX: BANTYPE normal|host|domain|custom + BANTYPE custom [nick] [user] [host] [domain] */ static void cmd_bantype(const char *data) { ban_set_type(data); } +/* SYNTAX: BAN <nicks/masks> */ static void cmd_ban(const char *data, IRC_SERVER_REC *server, WI_IRC_REC *item) { command_set_ban(data, server, item, TRUE); } +/* SYNTAX: UNBAN <masks> */ static void cmd_unban(const char *data, IRC_SERVER_REC *server, WI_IRC_REC *item) { command_set_ban(data, server, item, FALSE); diff --git a/src/irc/core/irc-commands.c b/src/irc/core/irc-commands.c index 63c397a6..e1c1d317 100644 --- a/src/irc/core/irc-commands.c +++ b/src/irc/core/irc-commands.c @@ -114,12 +114,16 @@ static IRC_SERVER_REC *connect_server(const char *data) return server; } +/* SYNTAX: CONNECT [-ircnet <ircnet>] [-host <hostname>] + <address>|<ircnet> [<port> [<password> [<nick>]]] */ static void cmd_connect(const char *data) { if (*data == '\0') cmd_return_error(CMDERR_NOT_ENOUGH_PARAMS); connect_server(data); } + +/* SYNTAX: DISCONNECT *|<tag> [<message>] */ static void cmd_disconnect(const char *data, IRC_SERVER_REC *server) { char *tag, *msg, *str; @@ -151,6 +155,8 @@ static void cmd_disconnect(const char *data, IRC_SERVER_REC *server) server_disconnect((SERVER_REC *) server); } +/* SYNTAX: SERVER [-ircnet <ircnet>] [-host <hostname>] + [+]<address>|<ircnet> [<port> [<password> [<nick>]]] */ static void cmd_server(const char *data, IRC_SERVER_REC *server) { GHashTable *optlist; @@ -198,6 +204,7 @@ static void cmd_server(const char *data, IRC_SERVER_REC *server) cmd_params_free(free_arg); } +/* SYNTAX: QUIT [<message>] */ static void cmd_quit(const char *data) { GSList *tmp, *next; @@ -221,6 +228,7 @@ static void cmd_quit(const char *data) signal_emit("gui exit", 0); } +/* SYNTAX: MSG [-<server tag>] <targets> <message> */ static void cmd_msg(const char *data, IRC_SERVER_REC *server, WI_IRC_REC *item) { GHashTable *optlist; @@ -256,6 +264,7 @@ static void cmd_msg(const char *data, IRC_SERVER_REC *server, WI_IRC_REC *item) cmd_params_free(free_arg); } +/* SYNTAX: NOTICE <targets> <message> */ static void cmd_notice(const char *data, IRC_SERVER_REC *server) { char *target, *msg; @@ -275,6 +284,7 @@ static void cmd_notice(const char *data, IRC_SERVER_REC *server) cmd_params_free(free_arg); } +/* SYNTAX: CTCP <targets> <ctcp command> [<ctcp data>] */ static void cmd_ctcp(const char *data, IRC_SERVER_REC *server) { char *target, *ctcpcmd, *ctcpdata; @@ -298,6 +308,7 @@ static void cmd_ctcp(const char *data, IRC_SERVER_REC *server) cmd_params_free(free_arg); } +/* SYNTAX: NCTCP <targets> <ctcp command> [<ctcp data>] */ static void cmd_nctcp(const char *data, IRC_SERVER_REC *server) { char *target, *ctcpcmd, *ctcpdata; @@ -318,6 +329,7 @@ static void cmd_nctcp(const char *data, IRC_SERVER_REC *server) cmd_params_free(free_arg); } +/* SYNTAX: JOIN [-invite] [-<server tag>] <channels> [<keys>] */ static void cmd_join(const char *data, IRC_SERVER_REC *server) { GHashTable *optlist; @@ -344,6 +356,7 @@ static void cmd_join(const char *data, IRC_SERVER_REC *server) cmd_params_free(free_arg); } +/* SYNTAX: PART [<channels>] [<message>] */ static void cmd_part(const char *data, IRC_SERVER_REC *server, WI_IRC_REC *item) { CHANNEL_REC *chanrec; @@ -367,6 +380,7 @@ static void cmd_part(const char *data, IRC_SERVER_REC *server, WI_IRC_REC *item) cmd_params_free(free_arg); } +/* SYNTAX: KICK [<channel>] <nicks> [<reason>] */ static void cmd_kick(const char *data, IRC_SERVER_REC *server, WI_IRC_REC *item) { char *channame, *nicks, *reason; @@ -389,6 +403,7 @@ static void cmd_kick(const char *data, IRC_SERVER_REC *server, WI_IRC_REC *item) cmd_params_free(free_arg); } +/* SYNTAX: TOPIC [-delete] [<channel>] [<topic>] */ static void cmd_topic(const char *data, IRC_SERVER_REC *server, WI_IRC_REC *item) { GHashTable *optlist; @@ -404,12 +419,14 @@ static void cmd_topic(const char *data, IRC_SERVER_REC *server, WI_IRC_REC *item item, "topic", &optlist, &channame, &topic)) return; - irc_send_cmdv(server, *topic == '\0' && g_hash_table_lookup(optlist, "d") == NULL ? + irc_send_cmdv(server, *topic == '\0' && + g_hash_table_lookup(optlist, "delete") == NULL ? "TOPIC %s" : "TOPIC %s :%s", channame, topic); cmd_params_free(free_arg); } +/* SYNTAX: INVITE <nick> [<channel>] */ static void cmd_invite(const char *data, IRC_SERVER_REC *server, WI_IRC_REC *item) { char *nick, *channame; @@ -434,6 +451,7 @@ static void cmd_invite(const char *data, IRC_SERVER_REC *server, WI_IRC_REC *ite cmd_params_free(free_arg); } +/* SYNTAX: LIST [-yes] [<channel>] */ static void cmd_list(const char *data, IRC_SERVER_REC *server, WI_IRC_REC *item) { GHashTable *optlist; @@ -458,6 +476,7 @@ static void cmd_list(const char *data, IRC_SERVER_REC *server, WI_IRC_REC *item) server_redirect_default((SERVER_REC *) server, "bogus command list"); } +/* SYNTAX: WHO <nicks>|<channels>|** */ static void cmd_who(const char *data, IRC_SERVER_REC *server, WI_IRC_REC *item) { char *channel, *rest; @@ -489,6 +508,7 @@ static void cmd_who(const char *data, IRC_SERVER_REC *server, WI_IRC_REC *item) server_redirect_default((SERVER_REC *) server, "bogus command who"); } +/* SYNTAX: NAMES [-yes] [<channels>] */ static void cmd_names(const char *data, IRC_SERVER_REC *server, WI_IRC_REC *item) { g_return_if_fail(data != NULL); @@ -529,6 +549,7 @@ static char *get_redirect_nicklist(const char *nicks, int *free) return ret; } +/* SYNTAX: WHOIS [<server>] [<nicks>] */ static void cmd_whois(const char *data, IRC_SERVER_REC *server) { char *qserver, *query; @@ -598,6 +619,7 @@ static void event_whowas(const char *data, IRC_SERVER_REC *server, const char *n signal_emit("event 314", 4, data, server, nick, addr); } +/* SYNTAX: WHOWAS [<nicks> [<count>]] */ static void cmd_whowas(const char *data, IRC_SERVER_REC *server) { char *nicks, *count; @@ -624,6 +646,7 @@ static void cmd_whowas(const char *data, IRC_SERVER_REC *server) cmd_params_free(free_arg); } +/* SYNTAX: PING <nicks> */ static void cmd_ping(const char *data, IRC_SERVER_REC *server, WI_IRC_REC *item) { GTimeVal tv; @@ -655,6 +678,7 @@ static void server_send_away(IRC_SERVER_REC *server, const char *reason) irc_send_cmdv(server, "AWAY :%s", reason); } +/* SYNTAX: AWAY [-one | -all] [<reason>] */ static void cmd_away(const char *data, IRC_SERVER_REC *server) { GHashTable *optlist; @@ -676,6 +700,7 @@ static void cmd_away(const char *data, IRC_SERVER_REC *server) cmd_params_free(free_arg); } +/* SYNTAX: DEOP <nicks> */ static void cmd_deop(const char *data, IRC_SERVER_REC *server) { g_return_if_fail(data != NULL); @@ -686,6 +711,7 @@ static void cmd_deop(const char *data, IRC_SERVER_REC *server) irc_send_cmdv(server, "MODE %s -o", server->nick); } +/* SYNTAX: SCONNECT <new server> [[<port>] <existing server>] */ static void cmd_sconnect(const char *data, IRC_SERVER_REC *server) { g_return_if_fail(data != NULL); @@ -696,6 +722,7 @@ static void cmd_sconnect(const char *data, IRC_SERVER_REC *server) irc_send_cmdv(server, "CONNECT %s", data); } +/* SYNTAX: QUOTE <data> */ static void cmd_quote(const char *data, IRC_SERVER_REC *server) { g_return_if_fail(data != NULL); @@ -710,6 +737,7 @@ static void cmd_wall_hash(gpointer key, NICK_REC *nick, GSList **nicks) if (nick->op) *nicks = g_slist_append(*nicks, nick); } +/* SYNTAX: WALL [<channel>] <message> */ static void cmd_wall(const char *data, IRC_SERVER_REC *server, WI_IRC_REC *item) { char *channame, *msg, *args; @@ -749,7 +777,8 @@ static void cmd_wall(const char *data, IRC_SERVER_REC *server, WI_IRC_REC *item) cmd_params_free(free_arg); } -static void cmd_cycle(gchar *data, IRC_SERVER_REC *server, WI_IRC_REC *item) +/* SYNTAX: CYCLE [<channel>] [<message>] */ +static void cmd_cycle(const char *data, IRC_SERVER_REC *server, WI_IRC_REC *item) { CHANNEL_REC *chanrec; char *channame, *msg; @@ -774,6 +803,7 @@ static void cmd_cycle(gchar *data, IRC_SERVER_REC *server, WI_IRC_REC *item) cmd_params_free(free_arg); } +/* SYNTAX: KICKBAN [<channel>] <nick> <reason> */ static void cmd_kickban(const char *data, IRC_SERVER_REC *server, WI_IRC_REC *item) { char *nick; @@ -832,6 +862,7 @@ static int knockout_timeout(void) return 1; } +/* SYNTAX: KNOCKOUT [<seconds>] <nick> <reason> */ static void cmd_knockout(const char *data, IRC_SERVER_REC *server, WI_IRC_REC *item) { KNOCKOUT_REC *rec; @@ -979,41 +1010,70 @@ void irc_commands_init(void) command_bind("list", NULL, (SIGNAL_FUNC) cmd_list); command_bind("who", NULL, (SIGNAL_FUNC) cmd_who); command_bind("names", NULL, (SIGNAL_FUNC) cmd_names); + /* SYNTAX: NICK <new nick> */ command_bind("nick", NULL, (SIGNAL_FUNC) command_self); + /* SYNTAX: NOTE <command> [&<password>] [+|-<flags>] [<arguments>] */ command_bind("note", NULL, (SIGNAL_FUNC) command_self); command_bind("whois", NULL, (SIGNAL_FUNC) cmd_whois); command_bind("whowas", NULL, (SIGNAL_FUNC) cmd_whowas); command_bind("ping", NULL, (SIGNAL_FUNC) cmd_ping); + /* SYNTAX: KILL <nick> <reason> */ command_bind("kill", NULL, (SIGNAL_FUNC) command_2self); command_bind("away", NULL, (SIGNAL_FUNC) cmd_away); + /* SYNTAX: ISON <nicks> */ command_bind("ison", NULL, (SIGNAL_FUNC) command_1self); + /* SYNTAX: ADMIN [<server>|<nickname>] */ command_bind("admin", NULL, (SIGNAL_FUNC) command_self); + /* SYNTAX: INFO [<server>] */ command_bind("info", NULL, (SIGNAL_FUNC) command_self); + /* SYNTAX: LINKS [[<server>] <mask>] */ command_bind("links", NULL, (SIGNAL_FUNC) command_self); + /* SYNTAX: LUSERS [<server mask> [<remote server>]] */ command_bind("lusers", NULL, (SIGNAL_FUNC) command_self); + /* SYNTAX: MAP */ command_bind("map", NULL, (SIGNAL_FUNC) command_self); + /* SYNTAX: MOTD [<server>|<nick>] */ command_bind("motd", NULL, (SIGNAL_FUNC) command_self); + /* SYNTAX: REHASH */ command_bind("rehash", NULL, (SIGNAL_FUNC) command_self); + /* SYNTAX: STATS <type> [<server>] */ command_bind("stats", NULL, (SIGNAL_FUNC) command_self); + /* SYNTAX: TIME [<server>|<nick>] */ command_bind("time", NULL, (SIGNAL_FUNC) command_self); + /* SYNTAX: TRACE [<server>|<nick>] */ command_bind("trace", NULL, (SIGNAL_FUNC) command_self); + /* SYNTAX: VERSION [<server>|<nick>] */ command_bind("version", NULL, (SIGNAL_FUNC) command_self); + /* SYNTAX: SERVLIST [<server mask>] */ command_bind("servlist", NULL, (SIGNAL_FUNC) command_self); + /* SYNTAX: SILENCE [[+|-]<nick!user@host>] + SILENCE [<nick>] */ command_bind("silence", NULL, (SIGNAL_FUNC) command_self); command_bind("sconnect", NULL, (SIGNAL_FUNC) cmd_sconnect); + /* SYNTAX: SQUERY <service> [<commands>] */ command_bind("squery", NULL, (SIGNAL_FUNC) command_2self); command_bind("deop", NULL, (SIGNAL_FUNC) cmd_deop); + /* SYNTAX: DIE */ command_bind("die", NULL, (SIGNAL_FUNC) command_self); + /* SYNTAX: HASH */ command_bind("hash", NULL, (SIGNAL_FUNC) command_self); + /* SYNTAX: OPER [<nick> [<password>]] */ command_bind("oper", NULL, (SIGNAL_FUNC) command_self); + /* SYNTAX: RESTART */ command_bind("restart", NULL, (SIGNAL_FUNC) command_self); + /* SYNTAX: RPING <server> */ command_bind("rping", NULL, (SIGNAL_FUNC) command_self); + /* SYNTAX: SQUIT <server>|<mask> <reason> */ command_bind("squit", NULL, (SIGNAL_FUNC) command_2self); + /* SYNTAX: UPING <server> */ command_bind("uping", NULL, (SIGNAL_FUNC) command_self); + /* SYNTAX: USERHOST <nicks> */ command_bind("userhost", NULL, (SIGNAL_FUNC) command_self); command_bind("quote", NULL, (SIGNAL_FUNC) cmd_quote); command_bind("wall", NULL, (SIGNAL_FUNC) cmd_wall); + /* SYNTAX: WALLOPS <message> */ command_bind("wallops", NULL, (SIGNAL_FUNC) command_1self); + /* SYNTAX: WALLCHOPS <channel> <message> */ command_bind("wallchops", NULL, (SIGNAL_FUNC) command_2self); command_bind("cycle", NULL, (SIGNAL_FUNC) cmd_cycle); command_bind("kickban", NULL, (SIGNAL_FUNC) cmd_kickban); diff --git a/src/irc/core/irc-rawlog.c b/src/irc/core/irc-rawlog.c index b2fd26bc..962564ec 100644 --- a/src/irc/core/irc-rawlog.c +++ b/src/irc/core/irc-rawlog.c @@ -34,6 +34,7 @@ static void cmd_rawlog(const char *data, SERVER_REC *server, void *item) command_runsub("rawlog", data, server, item); } +/* SYNTAX: RAWLOG SAVE <file> */ static void cmd_rawlog_save(const char *data, SERVER_REC *server) { g_return_if_fail(data != NULL); @@ -43,6 +44,7 @@ static void cmd_rawlog_save(const char *data, SERVER_REC *server) rawlog_save(server->rawlog, data); } +/* SYNTAX: RAWLOG OPEN <file> */ static void cmd_rawlog_open(const char *data, SERVER_REC *server) { g_return_if_fail(data != NULL); @@ -52,6 +54,7 @@ static void cmd_rawlog_open(const char *data, SERVER_REC *server) rawlog_open(server->rawlog, data); } +/* SYNTAX: RAWLOG CLOSE */ static void cmd_rawlog_close(const char *data, SERVER_REC *server) { g_return_if_fail(data != NULL); diff --git a/src/irc/core/modes.c b/src/irc/core/modes.c index 45bd5421..3e8df891 100644 --- a/src/irc/core/modes.c +++ b/src/irc/core/modes.c @@ -406,6 +406,7 @@ static char *get_nicks(WI_IRC_REC *item, const char *data, int op, int voice) return ret; } +/* SYNTAX: OP <nicks> */ static void cmd_op(const char *data, IRC_SERVER_REC *server, WI_IRC_REC *item) { char *nicks; @@ -419,6 +420,7 @@ static void cmd_op(const char *data, IRC_SERVER_REC *server, WI_IRC_REC *item) g_free(nicks); } +/* SYNTAX: DEOP <nicks> */ static void cmd_deop(const char *data, IRC_SERVER_REC *server, WI_IRC_REC *item) { char *nicks; @@ -432,6 +434,7 @@ static void cmd_deop(const char *data, IRC_SERVER_REC *server, WI_IRC_REC *item) g_free(nicks); } +/* SYNTAX: VOICE <nicks> */ static void cmd_voice(const char *data, IRC_SERVER_REC *server, WI_IRC_REC *item) { char *nicks; @@ -445,6 +448,7 @@ static void cmd_voice(const char *data, IRC_SERVER_REC *server, WI_IRC_REC *item g_free(nicks); } +/* SYNTAX: DEVOICE <nicks> */ static void cmd_devoice(const char *data, IRC_SERVER_REC *server, WI_IRC_REC *item) { char *nicks; @@ -458,6 +462,7 @@ static void cmd_devoice(const char *data, IRC_SERVER_REC *server, WI_IRC_REC *it g_free(nicks); } +/* SYNTAX: MODE <your nick>|<channel> [<mode> [<mode parameters>]] */ static void cmd_mode(const char *data, IRC_SERVER_REC *server, WI_IRC_REC *item) { char *target, *mode; diff --git a/src/irc/core/server-reconnect.c b/src/irc/core/server-reconnect.c index d736ef29..137e4224 100644 --- a/src/irc/core/server-reconnect.c +++ b/src/irc/core/server-reconnect.c @@ -261,6 +261,7 @@ static void sig_server_looking(IRC_SERVER_REC *server) } /* Remove all servers from reconnect list */ +/* SYNTAX: RMRECONNS */ static void cmd_rmreconns(void) { while (reconnects != NULL) @@ -282,6 +283,7 @@ static RECONNECT_REC *reconnect_find_tag(int tag) } /* Try to reconnect immediately */ +/* SYNTAX: RECONNECT <tag> */ static void cmd_reconnect(const char *data, IRC_SERVER_REC *server) { IRC_SERVER_CONNECT_REC *conn; diff --git a/src/irc/dcc/dcc-chat.c b/src/irc/dcc/dcc-chat.c index ddac4c98..69299304 100644 --- a/src/irc/dcc/dcc-chat.c +++ b/src/irc/dcc/dcc-chat.c @@ -257,7 +257,7 @@ static void dcc_chat_connect(DCC_REC *dcc) } } -/* command: DCC CHAT */ +/* SYNTAX: DCC CHAT <nick> */ static void cmd_dcc_chat(const char *data, IRC_SERVER_REC *server) { void *free_arg; @@ -306,7 +306,8 @@ static void cmd_dcc_chat(const char *data, IRC_SERVER_REC *server) cmd_params_free(free_arg); } -static void cmd_mircdcc(gchar *data, IRC_SERVER_REC *server, WI_IRC_REC *item) +/* SYNTAX: MIRCDCC ON|OFF */ +static void cmd_mircdcc(const char *data, IRC_SERVER_REC *server, WI_IRC_REC *item) { DCC_REC *dcc; @@ -315,7 +316,8 @@ static void cmd_mircdcc(gchar *data, IRC_SERVER_REC *server, WI_IRC_REC *item) dcc = item_get_dcc(item); if (dcc == NULL) return; - dcc->mirc_ctcp = toupper(*data) == 'N' ? FALSE : TRUE; + dcc->mirc_ctcp = toupper(*data) != 'N' && + g_strncasecmp(data, "OF", 3) != 0; } /* DCC CHAT: text received */ diff --git a/src/irc/dcc/dcc-files.c b/src/irc/dcc/dcc-files.c index a214a4f8..c6695d40 100644 --- a/src/irc/dcc/dcc-files.c +++ b/src/irc/dcc/dcc-files.c @@ -210,6 +210,7 @@ static void dcc_get_connect(DCC_REC *dcc) #define dcc_is_unget(dcc) \ ((dcc)->type == DCC_TYPE_GET && (dcc)->handle == -1) +/* SYNTAX: DCC GET <nick> [<file>] */ static void cmd_dcc_get(const char *data) { DCC_REC *dcc; @@ -337,6 +338,7 @@ static void dcc_resume_rec(DCC_REC *dcc) g_free(str); } +/* SYNTAX: DCC RESUME <nick> [<file>] */ static void cmd_dcc_resume(const char *data) { DCC_REC *dcc; @@ -492,7 +494,7 @@ static void dcc_send_init(DCC_REC *dcc) } } -/* command: DCC SEND */ +/* SYNTAX: DCC SEND <nick> <file> */ static void cmd_dcc_send(const char *data, IRC_SERVER_REC *server, WI_IRC_REC *item) { char *target, *fname, *str, *ptr; diff --git a/src/irc/dcc/dcc.c b/src/irc/dcc/dcc.c index 62665ff7..b2aeddcf 100644 --- a/src/irc/dcc/dcc.c +++ b/src/irc/dcc/dcc.c @@ -411,7 +411,7 @@ static void dcc_reject(DCC_REC *dcc, IRC_SERVER_REC *server) dcc_destroy(dcc); } -/* command: DCC CLOSE */ +/* SYNTAX: DCC CLOSE <type> <nick> [<file>] */ static void cmd_dcc_close(char *data, IRC_SERVER_REC *server) { DCC_REC *dcc; diff --git a/src/irc/notifylist/notify-commands.c b/src/irc/notifylist/notify-commands.c index 0bef6d23..b0883f13 100644 --- a/src/irc/notifylist/notify-commands.c +++ b/src/irc/notifylist/notify-commands.c @@ -28,6 +28,7 @@ #define DEFAULT_NOTIFY_IDLE_TIME 60 +/* SYNTAX: [-away] [-idle [<minutes>]] <mask> [<ircnets>] */ static void cmd_notify(gchar *data) { GHashTable *optlist; @@ -57,6 +58,7 @@ static void cmd_notify(gchar *data) cmd_params_free(free_arg); } +/* SYNTAX: UNNOTIFY <mask> */ static void cmd_unnotify(const char *data) { char *mask; |