]> jfr.im git - irc/quakenet/newserv.git/blobdiff - proxyscan/proxyscanalloc.c
merge
[irc/quakenet/newserv.git] / proxyscan / proxyscanalloc.c
index c658c01554c9e09122a34e80f5a8400975c3ea72..b4baf78f1972e7c0874f106b9a43ed070c3fe216 100644 (file)
@@ -11,6 +11,7 @@ scan *freescans;
 cachehost *freecachehosts;
 pendingscan *freependingscans;
 foundproxy *freefoundproxies;
+extrascan *freeextrascans;
 
 scan *getscan() {
   int i;
@@ -103,3 +104,26 @@ void freefoundproxy(foundproxy *fpp) {
   freefoundproxies=fpp;
 }
 
+extrascan *getextrascan() {
+  int i;
+  extrascan *esp;
+
+  if (freeextrascans==NULL) {
+    freeextrascans=(extrascan *)nsmalloc(POOL_PROXYSCAN,ALLOCUNIT*sizeof(extrascan));
+    for (i=0;i<(ALLOCUNIT-1);i++) {
+      freeextrascans[i].next=&(freeextrascans[i+1]);
+    }
+    freeextrascans[ALLOCUNIT-1].next=NULL;
+  }
+
+  esp=freeextrascans;
+  freeextrascans=esp->next;
+
+  return esp;
+}
+
+void freeextrascan(extrascan *esp) {
+  esp->next=freeextrascans;
+  freeextrascans=esp;
+}
+