tgrekov-pipex
HIVE pipex May 2024
Loading...
Searching...
No Matches
utils.h
1/* ************************************************************************** */
2/* */
3/* ::: :::::::: */
4/* utils.h :+: :+: :+: */
5/* +:+ +:+ +:+ */
6/* By: tgrekov <tgrekov@student.hive.fi> +#+ +:+ +#+ */
7/* +#+#+#+#+#+ +#+ */
8/* Created: 2024/04/22 06:08:01 by tgrekov #+# #+# */
9/* Updated: 2024/05/06 14:16:54 by tgrekov ### ########.fr */
10/* */
11/* ************************************************************************** */
12
20#ifndef UTILS_H
21# define UTILS_H
22
23void **arr_cut(void **arr, int len);
24void **arr_free(void **arr);
25int arr_has(void **arr, void *content,
26 int (*compare)(void *, void *));
27int arr_len(void **arr);
28void **dedupe(void **arr,
29 int (*compare)(void *, void *),
30 void *(*copy)(void *));
31void *err(const char *str, void *retval);
32
33#endif
void ** arr_cut(void **arr, int len)
Create new null-terminated array containing first len elements of arr.
Definition arr_cut.c:32
void ** arr_free(void **arr)
Free each element in a null-terminated array, and then the array itself.
Definition arr_free.c:29
int arr_has(void **arr, void *content, int(*compare)(void *, void *))
Check null-terminated array arr for entry content using comparison function compare.
Definition arr_has.c:30
int arr_len(void **arr)
Count number of elements in a null-terminated array.
Definition arr_len.c:26
void ** dedupe(void **arr, int(*compare)(void *, void *), void *(*copy)(void *))
Create new null-terminated array containing only unique values from arr, checked with compare,...
Definition dedupe.c:35
void * err(const char *str, void *retval)
Wrapper around perror() that always returns retval.
Definition err.c:29
static void * copy(void *str)
Duplicate a path string and append a forward slash.
Definition get_paths.c:53
static int compare(void *a, void *b)
Compare path string a against path string b, which will always have a trailing forward slash.
Definition get_paths.c:31