projects
/
ircu2.10.12-pk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Treat G-line-related times as network times, rather than local times.
[ircu2.10.12-pk.git]
/
ircd
/
m_invite.c
diff --git
a/ircd/m_invite.c
b/ircd/m_invite.c
index e068e487e119487a655d8e7dac103ee9927652a9..2479753dd5f152f304cf6777d168b063c979ae68 100644
(file)
--- a/
ircd/m_invite.c
+++ b/
ircd/m_invite.c
@@
-142,13
+142,10
@@
int m_invite(struct Client* cptr, struct Client* sptr, int parc, char* parv[])
if (is_silenced(sptr, acptr))
return 0;
if (is_silenced(sptr, acptr))
return 0;
- clean_channelname(parv[2]);
-
- if (!IsChannelPrefix(*parv[2]))
- return 0;
-
- if (!(chptr = FindChannel(parv[2]))) {
- send_reply(sptr, ERR_NOTONCHANNEL, parv[2]);
+ if (!IsChannelName(parv[2])
+ || !strIsIrcCh(parv[2])
+ || !(chptr = FindChannel(parv[2]))) {
+ send_reply(sptr, ERR_NOSUCHCHANNEL, parv[2]);
return 0;
}
return 0;
}
@@
-177,24
+174,26
@@
int m_invite(struct Client* cptr, struct Client* sptr, int parc, char* parv[])
if (cli_user(acptr)->away)
send_reply(sptr, RPL_AWAY, cli_name(acptr), cli_user(acptr)->away);
if (cli_user(acptr)->away)
send_reply(sptr, RPL_AWAY, cli_name(acptr), cli_user(acptr)->away);
- if (MyConnect(acptr))
+ if (MyConnect(acptr))
{
add_invite(acptr, chptr);
add_invite(acptr, chptr);
+ sendcmdto_one(sptr, CMD_INVITE, acptr, "%s %H", cli_name(acptr), chptr);
+ } else if (!IsLocalChannel(chptr->chname)) {
+ sendcmdto_one(sptr, CMD_INVITE, acptr, "%s %H %Tu", cli_name(acptr), chptr,
+ chptr->creationtime);
+ }
if (!IsLocalChannel(chptr->chname) || MyConnect(acptr)) {
if (feature_bool(FEAT_ANNOUNCE_INVITES)) {
/* Announce to channel operators. */
if (!IsLocalChannel(chptr->chname) || MyConnect(acptr)) {
if (feature_bool(FEAT_ANNOUNCE_INVITES)) {
/* Announce to channel operators. */
- sendcmdto_channel_butserv_butone(&
me
, get_error_numeric(RPL_ISSUEDINVITE)->str,
- NULL, chptr, sptr, SKIP_NONOPS,
+ sendcmdto_channel_butserv_butone(&
his
, get_error_numeric(RPL_ISSUEDINVITE)->str,
+ NULL, chptr, sptr, SKIP_NONOPS,
"%H %C %C :%C has been invited by %C",
chptr, acptr, sptr, acptr, sptr);
"%H %C %C :%C has been invited by %C",
chptr, acptr, sptr, acptr, sptr);
- /* Announce to servers with channel operators, but skip acptr,
- * since they will be notified below. */
+ /* Announce to servers with channel operators. */
sendcmdto_channel_servers_butone(sptr, NULL, TOK_INVITE, chptr, acptr, SKIP_NONOPS,
"%s %H %Tu", cli_name(acptr),
chptr, chptr->creationtime);
}
sendcmdto_channel_servers_butone(sptr, NULL, TOK_INVITE, chptr, acptr, SKIP_NONOPS,
"%s %H %Tu", cli_name(acptr),
chptr, chptr->creationtime);
}
- sendcmdto_one(sptr, CMD_INVITE, acptr, "%s %H %Tu", cli_name(acptr),
- chptr, chptr->creationtime);
}
return 0;
}
return 0;
@@
-280,26
+279,25
@@
int ms_invite(struct Client* cptr, struct Client* sptr, int parc, char* parv[])
if (is_silenced(sptr, acptr))
return 0;
if (is_silenced(sptr, acptr))
return 0;
- if (MyConnect(acptr))
- add_invite(acptr, chptr);
+ if (MyConnect(acptr)) {
+ add_invite(acptr, chptr);
+ sendcmdto_one(sptr, CMD_INVITE, acptr, "%s %H", cli_name(acptr), chptr);
+ } else {
+ sendcmdto_one(sptr, CMD_INVITE, acptr, "%s %H %Tu", cli_name(acptr), chptr,
+ chptr->creationtime);
+ }
if (feature_bool(FEAT_ANNOUNCE_INVITES)) {
/* Announce to channel operators. */
if (feature_bool(FEAT_ANNOUNCE_INVITES)) {
/* Announce to channel operators. */
- sendcmdto_channel_butserv_butone(&
me
, get_error_numeric(RPL_ISSUEDINVITE)->str,
+ sendcmdto_channel_butserv_butone(&
his
, get_error_numeric(RPL_ISSUEDINVITE)->str,
NULL, chptr, sptr, SKIP_NONOPS,
"%H %C %C :%C has been invited by %C",
chptr, acptr, sptr, acptr, sptr);
NULL, chptr, sptr, SKIP_NONOPS,
"%H %C %C :%C has been invited by %C",
chptr, acptr, sptr, acptr, sptr);
- /* Announce to servers with channel operators, but skip acptr,
- * since they will be notified below. */
+ /* Announce to servers with channel operators. */
sendcmdto_channel_servers_butone(sptr, NULL, TOK_INVITE, chptr, acptr, SKIP_NONOPS,
"%s %H %Tu", cli_name(acptr), chptr,
chptr->creationtime);
}
sendcmdto_channel_servers_butone(sptr, NULL, TOK_INVITE, chptr, acptr, SKIP_NONOPS,
"%s %H %Tu", cli_name(acptr), chptr,
chptr->creationtime);
}
- sendcmdto_one(sptr, CMD_INVITE, acptr,
- "%s %H %Tu",
- cli_name(acptr), chptr, chptr->creationtime);
return 0;
}
return 0;
}
-
-