server-time supported in all named servermsg: ping, error, notice and
authenticate. The only thing left to do for server-time are the numeric messages.
This commit is contained in:
@ -1178,14 +1178,16 @@ process_named_msg (session *sess, char *type, char *word[], char *word_eol[],
|
||||
if (g_ascii_strncasecmp (text, "DCC ", 4) == 0)
|
||||
/* redo this with handle_quotes TRUE */
|
||||
process_data_init (word[1], word_eol[1], word, word_eol, TRUE, FALSE);
|
||||
ctcp_handle (sess, to, nick, ip, text, word, word_eol, id);
|
||||
ctcp_handle (sess, to, nick, ip, text, word, word_eol, id,
|
||||
tags_data);
|
||||
} else
|
||||
{
|
||||
if (is_channel (serv, to))
|
||||
{
|
||||
if (ignore_check (word[1], IG_CHAN))
|
||||
return;
|
||||
inbound_chanmsg (serv, NULL, to, nick, text, FALSE, id, tags_data);
|
||||
inbound_chanmsg (serv, NULL, to, nick, text, FALSE, id,
|
||||
tags_data);
|
||||
} else
|
||||
{
|
||||
if (ignore_check (word[1], IG_PRIV))
|
||||
@ -1256,7 +1258,8 @@ garbage:
|
||||
/* handle named messages that DON'T start with a ':' */
|
||||
|
||||
static void
|
||||
process_named_servermsg (session *sess, char *buf, char *rawname, char *word_eol[])
|
||||
process_named_servermsg (session *sess, char *buf, char *rawname, char *word_eol[],
|
||||
const message_tags_data *tags_data)
|
||||
{
|
||||
sess = sess->server->server_session;
|
||||
|
||||
@ -1267,7 +1270,8 @@ process_named_servermsg (session *sess, char *buf, char *rawname, char *word_eol
|
||||
}
|
||||
if (!strncmp (buf, "ERROR", 5))
|
||||
{
|
||||
EMIT_SIGNAL (XP_TE_SERVERERROR, sess, buf + 7, NULL, NULL, NULL, 0);
|
||||
EMIT_SIGNAL_TIMESTAMP (XP_TE_SERVERERROR, sess, buf + 7, NULL, NULL, NULL,
|
||||
0, tags_data->timestamp);
|
||||
return;
|
||||
}
|
||||
if (!strncmp (buf, "NOTICE ", 7))
|
||||
@ -1275,7 +1279,9 @@ process_named_servermsg (session *sess, char *buf, char *rawname, char *word_eol
|
||||
buf = word_eol[3];
|
||||
if (*buf == ':')
|
||||
buf++;
|
||||
EMIT_SIGNAL (XP_TE_SERVNOTICE, sess, buf, sess->server->servername, NULL, NULL, 0);
|
||||
EMIT_SIGNAL_TIMESTAMP (XP_TE_SERVNOTICE, sess, buf,
|
||||
sess->server->servername, NULL, NULL, 0,
|
||||
tags_data->timestamp);
|
||||
return;
|
||||
}
|
||||
if (!strncmp (buf, "AUTHENTICATE +", 14)) /* omit SASL "empty" responses */
|
||||
@ -1283,7 +1289,8 @@ process_named_servermsg (session *sess, char *buf, char *rawname, char *word_eol
|
||||
return;
|
||||
}
|
||||
|
||||
EMIT_SIGNAL (XP_TE_SERVTEXT, sess, buf, sess->server->servername, rawname, NULL, 0);
|
||||
EMIT_SIGNAL_TIMESTAMP (XP_TE_SERVTEXT, sess, buf, sess->server->servername,
|
||||
rawname, NULL, 0, tags_data->timestamp);
|
||||
}
|
||||
|
||||
/* Handle time-server tags.
|
||||
@ -1444,7 +1451,7 @@ irc_inline (server *serv, char *buf, int len)
|
||||
|
||||
if (buf[0] != ':')
|
||||
{
|
||||
process_named_servermsg (sess, buf, word[0], word_eol); // TODO (data tags)
|
||||
process_named_servermsg (sess, buf, word[0], word_eol, &tags_data);
|
||||
goto xit;
|
||||
}
|
||||
|
||||
@ -1458,7 +1465,7 @@ irc_inline (server *serv, char *buf, int len)
|
||||
process_numeric (sess, atoi (word[2]), word, word_eol, text, &tags_data); // TODO (data tags)
|
||||
} else
|
||||
{
|
||||
process_named_msg (sess, type, word, word_eol, &tags_data); // TODO (data tags)
|
||||
process_named_msg (sess, type, word, word_eol, &tags_data);
|
||||
}
|
||||
|
||||
xit:
|
||||
|
Reference in New Issue
Block a user