4943
|
1 /* Copyright (C) 2006 Timo Sirainen */
|
|
2
|
|
3 #include "common.h"
|
|
4 #include "commands.h"
|
|
5
|
|
6 bool cmd_x_cancel(struct client_command_context *cmd)
|
|
7 {
|
|
8 struct client_command_context *cancel_cmd;
|
|
9 const char *tag;
|
|
10
|
|
11 /* <tag> */
|
|
12 if (!client_read_string_args(cmd, 1, &tag))
|
|
13 return FALSE;
|
|
14
|
|
15 cancel_cmd = cmd->client->command_queue;
|
|
16 for (; cancel_cmd != NULL; cancel_cmd = cancel_cmd->next) {
|
|
17 if (cancel_cmd->tag != NULL && cancel_cmd != cmd &&
|
|
18 strcmp(cancel_cmd->tag, tag) == 0) {
|
|
19 client_command_cancel(cancel_cmd);
|
|
20 client_send_tagline(cmd, "OK Command cancelled.");
|
|
21 return TRUE;
|
|
22 }
|
|
23 }
|
|
24
|
|
25 client_send_tagline(cmd, "NO Command tag not found.");
|
|
26 return TRUE;
|
|
27 }
|
|
28
|