Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
yabtaour
GitHub Repository: yabtaour/Philosophers-42
Path: blob/master/philo_bonus/ft_join_args_bonus.c
882 views
1
/* ************************************************************************** */
2
/* */
3
/* ::: :::::::: */
4
/* ft_join_args_bonus.c :+: :+: :+: */
5
/* +:+ +:+ +:+ */
6
/* By: yabtaour <[email protected]> +#+ +:+ +#+ */
7
/* +#+#+#+#+#+ +#+ */
8
/* Created: 2022/05/23 00:06:42 by yabtaour #+# #+# */
9
/* Updated: 2022/05/23 00:06:44 by yabtaour ### ########.fr */
10
/* */
11
/* ************************************************************************** */
12
#include "philosophers_bonus.h"
13
14
int ft_strlen(char *str)
15
{
16
int i;
17
18
if (!str)
19
return (0);
20
i = 0;
21
while (str[i] != '\0')
22
i++;
23
return (i);
24
}
25
26
char *ft_strjoin(char *s1, char *s2)
27
{
28
int i;
29
int j;
30
char *str;
31
32
if (!s1)
33
{
34
s1 = (char *)malloc(1 * sizeof(char));
35
if (!s1)
36
return (NULL);
37
s1[0] = '\0';
38
}
39
if (!s2)
40
return (NULL);
41
str = malloc(ft_strlen(s1) + ft_strlen(s2) + 2);
42
if (!str)
43
return (NULL);
44
i = -1;
45
j = 0;
46
while (s1[++i])
47
str[i] = s1[i];
48
while (s2[j])
49
str[i++] = s2[j++];
50
str[ft_strlen(s1) + ft_strlen(s2)] = '\0';
51
free(s1);
52
return (str);
53
}
54
55
char *ft_join_args(char *argv[], int argc)
56
{
57
char *args;
58
int i;
59
60
i = 1;
61
args = NULL;
62
while (i < argc)
63
{
64
if (argv[i][0] == '\0')
65
return (NULL);
66
args = ft_strjoin(args, argv[i++]);
67
args = ft_strjoin(args, " ");
68
}
69
return (args);
70
}
71
72