]> jfr.im git - irc/quakenet/newserv.git/blobdiff - proxyscan/proxyscanalloc.c
fix makefile of jupe module
[irc/quakenet/newserv.git] / proxyscan / proxyscanalloc.c
index c658c01554c9e09122a34e80f5a8400975c3ea72..5fb13ec3c7fb213396c00f51f81122c99d6d27a7 100644 (file)
@@ -11,6 +11,7 @@ scan *freescans;
 cachehost *freecachehosts;
 pendingscan *freependingscans;
 foundproxy *freefoundproxies;
+extrascan *freeextrascans;
 
 scan *getscan() {
   int i;
@@ -66,12 +67,12 @@ pendingscan *getpendingscan() {
   if (!freependingscans) {
     freependingscans=(pendingscan *)nsmalloc(POOL_PROXYSCAN,ALLOCUNIT * sizeof(pendingscan));
     for (i=0;i<(ALLOCUNIT-1);i++)
-      freependingscans[i].next = freependingscans+i+1;
+      freependingscans[i].next = (pendingscan *)&(freependingscans[i+1]);
     freependingscans[ALLOCUNIT-1].next=NULL;
   }
 
   psp=freependingscans;
-  freependingscans=psp->next;
+  freependingscans=(pendingscan *)psp->next;
 
   return psp;
 }
@@ -88,12 +89,12 @@ foundproxy *getfoundproxy() {
   if (!freefoundproxies) {
     freefoundproxies=(foundproxy *)nsmalloc(POOL_PROXYSCAN,ALLOCUNIT * sizeof(foundproxy));
     for (i=0;i<(ALLOCUNIT-1);i++)
-      freefoundproxies[i].next = freefoundproxies+i+1;
+      freefoundproxies[i].next = (foundproxy *)&(freefoundproxies[i+1]);
     freefoundproxies[ALLOCUNIT-1].next=NULL;
   }
 
   fpp=freefoundproxies;
-  freefoundproxies=fpp->next;
+  freefoundproxies=(foundproxy *)fpp->next;
 
   return fpp;
 }
@@ -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;
+}
+