Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
yabtaour
GitHub Repository: yabtaour/Minishell-42
Path: blob/main/utils/ft_trim.c
1407 views
1
/* ************************************************************************** */
2
/* */
3
/* ::: :::::::: */
4
/* ft_trim.c :+: :+: :+: */
5
/* +:+ +:+ +:+ */
6
/* By: ssabbaji <[email protected]> +#+ +:+ +#+ */
7
/* +#+#+#+#+#+ +#+ */
8
/* Created: 2022/07/26 18:49:39 by yabtaour #+# #+# */
9
/* Updated: 2022/09/05 13:29:42 by ssabbaji ### ########.fr */
10
/* */
11
/* ************************************************************************** */
12
13
#include "../minishell.h"
14
15
size_t ft_strlcpy(char *dst, char *src, size_t dstsize)
16
{
17
size_t src_s;
18
size_t i;
19
20
i = 0;
21
src_s = ft_strlen(src);
22
if (dstsize == 0)
23
return (src_s);
24
while (i < dstsize - 1 && src[i] != '\0')
25
{
26
dst[i] = src[i];
27
i++;
28
}
29
dst[i] = '\0';
30
return (src_s);
31
}
32
33
char *ft_strtrim(char *s1, char *set)
34
{
35
size_t start;
36
size_t last;
37
char *ptr;
38
39
ptr = NULL;
40
if (s1 != NULL && set != NULL)
41
{
42
start = 0;
43
last = ft_strlen(s1);
44
while (s1[start] != '\0' && ft_isspace(s1[start]))
45
start++;
46
while (ft_isspace(s1[last - 1]) && last > start)
47
last--;
48
ptr = (char *)malloc(sizeof(char) * (last - start + 1));
49
if (!ptr)
50
exit (1);
51
if (ptr)
52
ft_strlcpy(ptr, s1 + start, last - start + 1);
53
}
54
free(s1);
55
return (ptr);
56
}
57
58