-
Notifications
You must be signed in to change notification settings - Fork 0
/
get_next_line_utils_bonus.c
87 lines (78 loc) · 1.95 KB
/
get_next_line_utils_bonus.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* get_next_line_utils_bonus.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: tnoulens <tnoulens@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/05/20 15:46:30 by tnoulens #+# #+# */
/* Updated: 2022/05/31 16:50:01 by tnoulens ### ########.fr */
/* */
/* ************************************************************************** */
#include "get_next_line_bonus.h"
size_t ft_strlen(const char *s)
{
register int i;
const char *p;
if (s == NULL)
return (0);
p = s;
i = 0;
while (p[i])
++i;
return (i);
}
char *ft_strchr(const char *s, int c)
{
register const unsigned char *p;
int flag;
unsigned char c_to_find;
c_to_find = (unsigned char)c;
p = (const unsigned char *)s;
flag = 0;
if (p)
{
while (*p && flag == 0)
{
if (*p == c_to_find)
flag = 1;
else
++p;
}
if (flag == 1 || (c == '\0' && *p == '\0'))
return ((char *)p);
else
return (NULL);
}
else
return (NULL);
}
void ft_cpy(char *suf, char *p)
{
int i;
int j;
i = 0;
j = 0;
while (p[i] && p[i] != '\n')
++i;
while (p[i])
suf[j++] = p[++i];
}
void *ft_calloc(size_t nmemb, size_t size)
{
register void *p;
register char *ptr;
register size_t mem_size;
register size_t max_st;
max_st = ~(size_t)0;
if (size > 0 && nmemb > max_st / size)
return (NULL);
mem_size = nmemb * size;
p = malloc(mem_size);
if (!p)
return (NULL);
ptr = p;
while (mem_size--)
*ptr++ = '\0';
return (p);
}