aboutsummaryrefslogtreecommitdiff
path: root/src/vec
diff options
context:
space:
mode:
Diffstat (limited to 'src/vec')
-rw-r--r--src/vec/ft_vecpush_safe.c27
-rw-r--r--src/vec/ft_vecsort.c18
2 files changed, 45 insertions, 0 deletions
diff --git a/src/vec/ft_vecpush_safe.c b/src/vec/ft_vecpush_safe.c
new file mode 100644
index 0000000..8e5a8d4
--- /dev/null
+++ b/src/vec/ft_vecpush_safe.c
@@ -0,0 +1,27 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* ft_vecpush_safe.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/04/04 13:29:48 by charles #+# #+# */
+/* Updated: 2020/04/04 14:24:19 by charles ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_vec.h"
+
+/*
+** \brief Wrapper around ft_vecpush which reject null element
+** \param vec Pushed vector
+** \param pushed Element pushed which can't be NULL
+** \return NULL if pushed is NULL, whatever ft_vecpush returns otherwise
+*/
+
+t_ftvec *ft_vecpush_safe(t_ftvec *vec, void *pushed)
+{
+ if (pushed == NULL)
+ return (NULL);
+ return (ft_vecpush(vec, pushed));
+}
diff --git a/src/vec/ft_vecsort.c b/src/vec/ft_vecsort.c
new file mode 100644
index 0000000..99b1a5f
--- /dev/null
+++ b/src/vec/ft_vecsort.c
@@ -0,0 +1,18 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* ft_vecsort.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/04/04 15:53:23 by charles #+# #+# */
+/* Updated: 2020/04/04 15:55:21 by charles ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_vec.h"
+
+void ft_vecsort(t_ftvec *vec, t_ftcompar_func cmp)
+{
+ ft_qsort(vec->data, vec->size, sizeof(void*), cmp);
+}