}
temp2 = temp2 + temp1 + " ";
}
- output = temp2.substr(0,temp2.length()-1);
+ if (temp2.length())
+ output = temp2.substr(0,temp2.length()-1);
}
virtual int OnExtendedMode(userrec* user, void* target, char modechar, int type, bool mode_on, string_list ¶ms)
if (type == MT_CHANNEL)
{
// only a u-lined server may add or remove the +r mode.
- if ((Srv->IsUlined(user->nick)) || (Srv->IsUlined(user->server)))
+ if ((Srv->IsUlined(user->nick)) || (Srv->IsUlined(user->server)) || (!strcmp(user->server,"")))
{
return 1;
}
chanrec* c = (chanrec*)dest;
if ((c->IsCustomModeSet('M')) && (!strchr(user->modes,'r')))
{
- if ((Srv->IsUlined(user->nick)) || (Srv->IsUlined(user->server)))
+ if ((Srv->IsUlined(user->nick)) || (Srv->IsUlined(user->server)) || (!strcmp(user->server,"")))
{
// user is ulined, can speak regardless
return 0;
virtual Version GetVersion()
{
- return Version(1,0,0,0);
+ return Version(1,0,0,0,VF_STATIC|VF_VENDOR);
}
virtual void OnUserConnect(userrec* user)