Browse Source

faux.vec: faux_vec_del_all()

Serj Kalichev 2 years ago
parent
commit
54564bba1f
3 changed files with 16 additions and 0 deletions
  1. 1 0
      faux/faux.map
  2. 1 0
      faux/vec.h
  3. 14 0
      faux/vec/vec.c

+ 1 - 0
faux/faux.map

@@ -322,6 +322,7 @@ FAUX_2.0 {
 		faux_vec_del;
 		faux_vec_find_fn;
 		faux_vec_find;
+		faux_vec_del_all;
 
 		faux_buf_new;
 		faux_buf_free;

+ 1 - 0
faux/vec.h

@@ -27,6 +27,7 @@ int faux_vec_find_fn(const faux_vec_t *faux_vec, faux_vec_kcmp_fn matchFn,
 	const void *userkey, unsigned int start_index);
 int faux_vec_find(const faux_vec_t *faux_vec, const void *userkey,
 	unsigned int start_index);
+void faux_vec_del_all(faux_vec_t *faux_vec);
 
 C_DECL_END
 

+ 14 - 0
faux/vec/vec.c

@@ -258,3 +258,17 @@ int faux_vec_find(const faux_vec_t *faux_vec, const void *userkey,
 	return faux_vec_find_fn(faux_vec, faux_vec->kcmpFn,
 		userkey, start_index);
 }
+
+
+/** @brief Deletes all vector's items.
+ *
+ * @param [in] faux_vec Allocated vector object.
+ */
+void faux_vec_del_all(faux_vec_t *faux_vec)
+{
+	if (!faux_vec)
+		return;
+	faux_free(faux_vec->data);
+	faux_vec->data = NULL;
+	faux_vec->len = 0;
+}