]> jfr.im git - irc/quakenet/newserv.git/blobdiff - lib/array.h
CHANSERV: fix issue where chanserv_relay doesn't wait for db to be loaded before...
[irc/quakenet/newserv.git] / lib / array.h
index 760e817fbd3a453541bd0c26449a0a9bf2474592..902a6b4001191bd3c927d8f9e616417c68b03702 100644 (file)
@@ -1,22 +1,24 @@
 /* array.h */
 
-#ifndef __ARRAY_H
-#define __ARRAY_H
+#ifndef _ARRAY_H
 
-typedef struct {
-  unsigned cursi;
-  unsigned maxsi;
-  unsigned memberlen;
-  unsigned arlim1;
-  unsigned arlim2;
-  void *content;
+#define _ARRAY_H
+
+typedef struct array {
+  void *content; /* must be called this */
+  unsigned int cursi; /* must be called this */
+  unsigned int capacity;
+  unsigned int itemsize;
+  unsigned short allocchunksize;
+  unsigned short freechunksize;
 } array;
 
-void array_init(array *a, unsigned int memberlen);
-void array_setlim1(array *a, unsigned int lim);
-void array_setlim2(array *a, unsigned int lim);
-int array_getfreeslot(array *a);
-void array_delslot(array *a, int slotn);
+void array_init(array *a, unsigned int itemsize);
 void array_free(array *a);
+int array_getfreeslot(array *a);
+void array_delslot(array *a, unsigned int index);
+
+#define array_setlim1(a, size) (a)->allocchunksize = size;
+#define array_setlim2(a, size) (a)->freechunksize = size;
 
-#endif
+#endif /* _ARRAY_H */