Computing SCC ...
[satune.git] / src / Collections / vector.h
index 5b638e9458a26b5480d5cc92664076b1766e3dee..650f33dc8352b3cea81983de89eb53af0a0054e7 100644 (file)
@@ -23,9 +23,9 @@
        void clearVector ## name(Vector ## name *vector);                     \
        void deleteVectorArray ## name(Vector ## name *vector);                                                         \
        type * exposeArray ## name(Vector ## name * vector);                                                                    \
-       void allocInlineVector ## name(Vector ## name * vector, uint capacity); \
-       void allocInlineDefVector ## name(Vector ## name * vector);                                             \
-       void allocInlineVectorArray ## name(Vector ## name * vector, uint capacity, type * array);
+       void initVector ## name(Vector ## name * vector, uint capacity); \
+       void initDefVector ## name(Vector ## name * vector);                                            \
+       void initVectorArray ## name(Vector ## name * vector, uint capacity, type * array);
 
 #define VectorImpl(name, type, defcap)                                  \
        Vector ## name * allocDefVector ## name() {                           \
@@ -35,7 +35,7 @@
                Vector ## name * tmp = (Vector ## name *)ourmalloc(sizeof(Vector ## name));  \
                tmp->size = 0;                                                      \
                tmp->capacity = capacity;                                           \
-               tmp->array = (type *) ourcalloc(1, sizeof(type) * capacity);          \
+               tmp->array = (type *) ourmalloc(sizeof(type) * capacity);                                               \
                return tmp;                                                         \
        }                                                                     \
        Vector ## name * allocVectorArray ## name(uint capacity, type * array)  { \
@@ -65,6 +65,7 @@
                if (vector->size >= vector->capacity) {                                                                                                                 \
                        uint newcap=vector->capacity << 1;                                                                                                                              \
                        vector->array=(type *)ourrealloc(vector->array, newcap * sizeof(type)); \
+                       vector->capacity=newcap;                                                                                                                                                                        \
                }                                                                   \
                vector->array[vector->size++] = item;                               \
        }                                                                     \
        void deleteVectorArray ## name(Vector ## name *vector) {                                                        \
                ourfree(vector->array);                                             \
        }                                                                                                                                                                                                                                                                                       \
-       void allocInlineVector ## name(Vector ## name * vector, uint capacity) { \
+       void initVector ## name(Vector ## name * vector, uint capacity) { \
                vector->size = 0;                                                      \
                vector->capacity = capacity;                                                                                                                                                                                    \
-               vector->array = (type *) ourcalloc(1, sizeof(type) * capacity);                 \
+               vector->array = (type *) ourmalloc(sizeof(type) * capacity);                            \
        }                                                                                                                                                                                                                                                                                       \
-       void allocInlineDefVector ## name(Vector ## name * vector) {                                    \
-               allocInlineVector ## name(vector, defcap);                                                                                                      \
+       void initDefVector ## name(Vector ## name * vector) {                                   \
+               initVector ## name(vector, defcap);                                                                                                     \
        }                                                                                                                                                                                                                                                                                       \
-       void allocInlineVectorArray ## name(Vector ## name * vector, uint capacity, type * array) {     \
-               allocInlineVector ##name(vector, capacity);                                                                                                     \
+       void initVectorArray ## name(Vector ## name * vector, uint capacity, type * array) {    \
+               initVector ##name(vector, capacity);                                                                                                    \
                vector->size=capacity;                                                                                                                                                                                  \
                memcpy(vector->array, array, capacity * sizeof(type));  \
        }