- if (ServerInstance->XLines->AddZLine(duration,user->nick,parameters[2],parameters[0]))
+
+ const char* ipaddr = target.c_str();
+ User* find = ServerInstance->FindNick(target.c_str());
+
+ if (find)
+ {
+ ipaddr = find->GetIPString();
+ }
+ else
+ {
+ if (strchr(ipaddr,'@'))
+ {
+ while (*ipaddr != '@')
+ ipaddr++;
+ ipaddr++;
+ }
+ }
+ ZLine* zl = new ZLine(ServerInstance, ServerInstance->Time(), duration, user->nick, parameters[2], ipaddr);
+ if (ServerInstance->XLines->AddLine(zl,user))