implemented custom KeepConn Time Mode (+K <time>) and relay command for external...
[ircu2.10.12-pk.git] / ircd / m_quit.c
index 16376e42a4406b33988dc96d649ae2577bf54a72..0aff8f0e83762c18c1e2648c1aaf783e5ca3811f 100644 (file)
@@ -105,6 +105,11 @@ int m_quit(struct Client* cptr, struct Client* sptr, int parc, char* parv[])
   assert(0 != sptr);
   assert(cptr == sptr);
 
+  if (IsKeepConnEnabled(sptr) || !ircd_strcmp(parv[parc - 1], "ZOMBIE")) {
+    zombie_client(&me, &me, sptr);
+    return 0;
+  }
+
   if (cli_user(sptr)) {
     struct Membership* chan;
     for (chan = cli_user(sptr)->channel; chan; chan = chan->next_channel) {