This commit is contained in:
Loic Deridder
2025-02-11 14:25:40 +01:00
parent 5149604867
commit ebc62388a2
13 changed files with 375 additions and 174 deletions

View File

@@ -3,61 +3,122 @@
/* ::: :::::::: */
/* gnl_utils.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: nalebrun <nalebrun@student.s19.be> +#+ +:+ +#+ */
/* By: lderidde <lderidde@student.s19.be> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/11/27 12:48:02 by nalebrun #+# #+# */
/* Updated: 2024/11/27 12:53:32 by nalebrun ### ########.fr */
/* Created: 2024/11/27 12:48:02 by lderidde #+# #+# */
/* Updated: 2025/02/11 11:56:38 by lderidde ### ########.fr */
/* */
/* ************************************************************************** */
#include "../../libft.h"
#include "gnl.h"
size_t ft_gstrlen(const char *str, int j)
int ft_strchr_index(char *s, int c)
{
size_t i;
if (!s)
return (-1);
i = 0;
if (!str)
return (0);
if (j == 0 || j == -2)
while (s[i])
{
while (str[i])
i++;
return (i);
if (s[i] == (unsigned char)c)
return (i);
i++;
}
else
{
if (j > 0)
j--;
if (j != 0)
i += (BUFFER_SIZE * j) - 1;
while (str[i])
i++;
if (s[i] == (unsigned char)c)
return (i);
}
return (-1);
}
char *ft_strichr(const char *s, int c, int i)
void *f_calloc(int size, int nb)
{
void *ptr;
int i;
i = 0;
ptr = malloc(size * nb);
if (!ptr)
return (NULL);
while (i < size * nb)
{
((char *)ptr)[i] = 0;
i++;
}
return (ptr);
}
char *ft_strjoin_gnl(char *s1, char *s2)
{
char *str;
char ch;
int i;
int j;
if (!s)
return (0);
if (i > 0)
i--;
ch = c;
str = (char *)s;
if (i != 0)
str += (BUFFER_SIZE * i) - 1;
while (*str)
str = malloc(ft_strlen(s1) + ft_strlen(s2) + 1);
if (!str)
return (NULL);
j = 0;
i = -1;
while (s1 && s1[++i])
{
if (*str == ch)
return (str);
str++;
str[j] = s1[i];
j++;
}
if ((ch == 0) && (*str == 0))
return (str);
return (0);
i = 0;
while (s2 && s2[i])
{
str[j] = s2[i];
i++;
j++;
}
str[j] = '\0';
return (str);
}
// size_t ft_gstrlen(const char *str, int j)
// {
// size_t i;
//
// i = 0;
// if (!str)
// return (0);
// if (j == 0 || j == -2)
// {
// while (str[i])
// i++;
// return (i);
// }
// else
// {
// if (j > 0)
// j--;
// if (j != 0)
// i += (BUFFER_SIZE * j) - 1;
// while (str[i])
// i++;
// return (i);
// }
// }
//
// char *ft_strichr(const char *s, int c, int i)
// {
// char *str;
// char ch;
//
// if (!s)
// return (0);
// if (i > 0)
// i--;
// ch = c;
// str = (char *)s;
// if (i != 0)
// str += (BUFFER_SIZE * i) - 1;
// while (*str)
// {
// if (*str == ch)
// return (str);
// str++;
// }
// if ((ch == 0) && (*str == 0))
// return (str);
// return (0);
// }