]> jfr.im git - irc/quakenet/newserv.git/blobdiff - core/events-poll.c
CHANSERV: remove E type escapes
[irc/quakenet/newserv.git] / core / events-poll.c
index 6f2812a064a652b638126ecd4d69fe7c75c6a1a5..7d939b0b0ca5c0410246ea2c4fca78b523ccbdd6 100644 (file)
@@ -51,6 +51,12 @@ void inithandlers() {
   registerhook(HOOK_CORE_STATSREQUEST, &eventstats);
 }
 
+void finihandlers() {
+  deregisterhook(HOOK_CORE_STATSREQUEST, &eventstats);
+  free(eventfds);
+  free(eventhandlers);
+}
+
 /*
  * checkindex():
  *  Given the number of a new file descriptor, makes sure that the arrays
@@ -69,9 +75,9 @@ void checkindex(unsigned index) {
   }
 
   eventfds=(struct pollfd *)realloc((void *)eventfds,maxfds*sizeof(struct pollfd));
-  memset(&eventfds[oldmax],0,maxfds-oldmax);
+  memset(&eventfds[oldmax],0,(maxfds-oldmax)*sizeof(struct pollfd));
   eventhandlers=(reghandler *)realloc((void *)eventhandlers,maxfds*sizeof(reghandler));
-  memset(&eventhandlers[oldmax],0,maxfds-oldmax);
+  memset(&eventhandlers[oldmax],0,(maxfds-oldmax)*sizeof(reghandler));
 }
 
 /*