mirror of
https://github.com/inspircd/inspircd.git
synced 2025-03-13 12:39:05 -04:00
Faster ADDLINE code
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3128 e03df62e-2008-0410-955e-edbf42e46eb7
This commit is contained in:
parent
dba88edc76
commit
6faa21240d
@ -1560,37 +1560,31 @@ class TreeSocket : public InspSocket
|
|||||||
{
|
{
|
||||||
if (params.size() < 6)
|
if (params.size() < 6)
|
||||||
return true;
|
return true;
|
||||||
std::string linetype = params[0]; /* Z, Q, E, G, K */
|
|
||||||
std::string mask = params[1]; /* Line type dependent */
|
|
||||||
std::string source = params[2]; /* may not be online or may be a server */
|
|
||||||
std::string settime = params[3]; /* EPOCH time set */
|
|
||||||
std::string duration = params[4]; /* Duration secs */
|
|
||||||
std::string reason = params[5];
|
|
||||||
|
|
||||||
switch (*(linetype.c_str()))
|
switch (*(params[0].c_str()))
|
||||||
{
|
{
|
||||||
case 'Z':
|
case 'Z':
|
||||||
add_zline(atoi(duration.c_str()), source.c_str(), reason.c_str(), mask.c_str());
|
add_zline(atoi(params[4].c_str()), params[2].c_str(), params[5].c_str(), params[1].c_str());
|
||||||
zline_set_creation_time((char*)mask.c_str(), atoi(settime.c_str()));
|
zline_set_creation_time((char*)params[1].c_str(), atoi(params[3].c_str()));
|
||||||
break;
|
break;
|
||||||
case 'Q':
|
case 'Q':
|
||||||
add_qline(atoi(duration.c_str()), source.c_str(), reason.c_str(), mask.c_str());
|
add_qline(atoi(params[4].c_str()), params[2].c_str(), params[5].c_str(), params[1].c_str());
|
||||||
qline_set_creation_time((char*)mask.c_str(), atoi(settime.c_str()));
|
qline_set_creation_time((char*)params[1].c_str(), atoi(params[3].c_str()));
|
||||||
break;
|
break;
|
||||||
case 'E':
|
case 'E':
|
||||||
add_eline(atoi(duration.c_str()), source.c_str(), reason.c_str(), mask.c_str());
|
add_eline(atoi(params[4].c_str()), params[2].c_str(), params[5].c_str(), params[1].c_str());
|
||||||
eline_set_creation_time((char*)mask.c_str(), atoi(settime.c_str()));
|
eline_set_creation_time((char*)params[1].c_str(), atoi(params[3].c_str()));
|
||||||
break;
|
break;
|
||||||
case 'G':
|
case 'G':
|
||||||
add_gline(atoi(duration.c_str()), source.c_str(), reason.c_str(), mask.c_str());
|
add_gline(atoi(params[4].c_str()), params[2].c_str(), params[5].c_str(), params[1].c_str());
|
||||||
gline_set_creation_time((char*)mask.c_str(), atoi(settime.c_str()));
|
gline_set_creation_time((char*)params[1].c_str(), atoi(params[3].c_str()));
|
||||||
break;
|
break;
|
||||||
case 'K':
|
case 'K':
|
||||||
add_kline(atoi(duration.c_str()), source.c_str(), reason.c_str(), mask.c_str());
|
add_kline(atoi(params[4].c_str()), params[2].c_str(), params[5].c_str(), params[1].c_str());
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
/* Just in case... */
|
/* Just in case... */
|
||||||
Srv->SendOpers("*** \2WARNING\2: Invalid xline type '"+linetype+"' sent by server "+prefix+", ignored!");
|
Srv->SendOpers("*** \2WARNING\2: Invalid xline type '"+params[0]+"' sent by server "+prefix+", ignored!");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
/* Send it on its way */
|
/* Send it on its way */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user