parent
b67953c70c
commit
1007af9506
|
@ -2980,17 +2980,43 @@ static int
|
||||||
cmd_query (struct session *sess, char *tbuf, char *word[], char *word_eol[])
|
cmd_query (struct session *sess, char *tbuf, char *word[], char *word_eol[])
|
||||||
{
|
{
|
||||||
char *nick = word[2];
|
char *nick = word[2];
|
||||||
|
char *msg = word_eol[3];
|
||||||
|
char *split_text = NULL;
|
||||||
gboolean focus = TRUE;
|
gboolean focus = TRUE;
|
||||||
|
int cmd_length = 13; /* " PRIVMSG ", " ", :, \r, \n */
|
||||||
|
int offset = 0;
|
||||||
|
|
||||||
if (strcmp (word[2], "-nofocus") == 0)
|
if (strcmp (word[2], "-nofocus") == 0)
|
||||||
{
|
{
|
||||||
nick = word[3];
|
nick = word[3];
|
||||||
|
msg = word_eol[4];
|
||||||
focus = FALSE;
|
focus = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (*nick && !is_channel (sess->server, nick))
|
if (*nick && !is_channel (sess->server, nick))
|
||||||
{
|
{
|
||||||
open_query (sess->server, nick, focus);
|
open_query (sess->server, nick, focus);
|
||||||
|
|
||||||
|
if (*msg)
|
||||||
|
{
|
||||||
|
if (!sess->server->connected)
|
||||||
|
{
|
||||||
|
notc_msg (sess);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
while ((split_text = split_up_text (sess, msg + offset, cmd_length, split_text)))
|
||||||
|
{
|
||||||
|
sess->server->p_message (sess->server, nick, split_text);
|
||||||
|
|
||||||
|
if (*split_text)
|
||||||
|
offset += strlen(split_text);
|
||||||
|
|
||||||
|
g_free(split_text);
|
||||||
|
}
|
||||||
|
sess->server->p_message (sess->server, nick, msg + offset);
|
||||||
|
}
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
@ -3936,7 +3962,7 @@ const struct commands xc_cmds[] = {
|
||||||
{"PING", cmd_ping, 1, 0, 1,
|
{"PING", cmd_ping, 1, 0, 1,
|
||||||
N_("PING <nick | channel>, CTCP pings nick or channel")},
|
N_("PING <nick | channel>, CTCP pings nick or channel")},
|
||||||
{"QUERY", cmd_query, 0, 0, 1,
|
{"QUERY", cmd_query, 0, 0, 1,
|
||||||
N_("QUERY [-nofocus] <nick>, opens up a new privmsg window to someone")},
|
N_("QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone and optionally sends a message")},
|
||||||
{"QUIET", cmd_quiet, 1, 1, 1,
|
{"QUIET", cmd_quiet, 1, 1, 1,
|
||||||
N_("QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current channel if supported by the server.")},
|
N_("QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current channel if supported by the server.")},
|
||||||
{"QUIT", cmd_quit, 0, 0, 1,
|
{"QUIT", cmd_quit, 0, 0, 1,
|
||||||
|
|
Loading…
Reference in New Issue