added "nowho" parameter to debug userlist and fixed memory leak in DBHelper.c
[NeonServV5.git] / src / cmd_neonserv_extscript.c
index 13f96a31b074b2dbb7f609792ec0363e6f60aec5..e4a4e2e345ca02688eb6a6a0182ef51e00e69826 100644 (file)
@@ -1,5 +1,5 @@
 /* cmd_neonserv_extscript.c - NeonServ v5.3
- * Copyright (C) 2011  Philipp Kreil (pk910)
+ * Copyright (C) 2011-2012  Philipp Kreil (pk910)
  * 
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -28,6 +28,7 @@ static TIMEQ_CALLBACK(neonserv_cmd_extscript_callback);
 
 struct neonserv_cmd_extscript_cache {
     struct ClientSocket *client, *textclient;
+    struct Event *event;
     struct UserNode *user;
     struct ChanNode *chan;
     int answere_channel;
@@ -130,6 +131,7 @@ CMD_BIND(neonserv_cmd_extscript) {
     }
     cache->client = client;
     cache->textclient = getTextBot();
+    cache->event = event;
     cache->user = user;
     cache->chan = chan;
     cache->answere_channel = answere_channel;
@@ -137,7 +139,7 @@ CMD_BIND(neonserv_cmd_extscript) {
     #ifndef WIN32
     fcntl(fileno(cache->pipe), F_SETFL, O_NONBLOCK);
     #endif
-    timeq_add(1, neonserv_cmd_extscript_callback, cache);
+    timeq_uadd(200, neonserv_cmd_extscript_callback, cache);
 }
 
 static TIMEQ_CALLBACK(neonserv_cmd_extscript_callback) {
@@ -152,12 +154,16 @@ static TIMEQ_CALLBACK(neonserv_cmd_extscript_callback) {
     while (fgets(command, 512, cache->pipe) != NULL) {
         if((a = strchr(command, '\n'))) 
             *a = '\0';
+        if(!stricmp(command, "/log")) {
+            logEvent(cache->event);
+            continue;
+        }
         if(cache->answere_channel)
             putsock(cache->client, "PRIVMSG %s :%s", cache->chan->name, command);
         else
             reply(cache->textclient, cache->user, "%s", command);
     }
-    timeq_add(1, neonserv_cmd_extscript_callback, cache);
+    timeq_uadd(200, neonserv_cmd_extscript_callback, cache);
 }