]> rtime.felk.cvut.cz Git - ulut.git/commitdiff
Added custom delete_all function for GSA arrays.
authorppisa <ppisa>
Fri, 28 Jul 2006 13:01:47 +0000 (13:01 +0000)
committerppisa <ppisa>
Fri, 28 Jul 2006 13:01:47 +0000 (13:01 +0000)
ulut/ul_gsa.h
ulut/ul_gsacust.c

index 1a4bb5bacdf6472f64e22c2607715c7c12340515..0573616aad72677f57dc4a8174621e020961a3a8 100644 (file)
@@ -146,6 +146,7 @@ typedef struct gsa_static_array_field_t{
 void gsa_cust_init_array_field(gsa_array_field_t *array);
 int gsa_cust_insert_at(gsa_array_field_t *array, void *item, unsigned where);
 int gsa_cust_delete_at(gsa_array_field_t *array, unsigned indx);
+void gsa_cust_delete_all(gsa_array_field_t *array);
 
 
 /* User must provide his/her own compare routine with 
@@ -351,6 +352,12 @@ cust_prefix##_delete_at(cust_array_t *array, unsigned indx)\
   return gsa_cust_delete_at(&array->cust_array_field, indx);\
 }\
 \
+static inline void \
+cust_prefix##_delete_all(cust_array_t *array)\
+{\
+  gsa_cust_delete_all(&array->cust_array_field);\
+}\
+\
 static inline cust_item_t *\
 cust_prefix##_cut_last(cust_array_t *array)\
 {\
index c16caddfb7e1cfe1cf7d51e55b1159166d2241c0..5b178d60efb9f099914ba7eb14536ba3c5259fef 100644 (file)
@@ -100,3 +100,13 @@ gsa_cust_delete_at(gsa_array_field_t *array, unsigned indx)
   }
   return 0;
 }
+
+void 
+gsa_cust_delete_all(gsa_array_field_t *array)
+{
+  if(array->items && array->alloc_count)
+    free(array->items);
+  array->items=NULL;
+  array->count=0;
+  array->alloc_count=0;
+}