fix a few norm errors
This commit is contained in:
parent
9725166235
commit
8f37c424ad
3 changed files with 116 additions and 105 deletions
5
Makefile
5
Makefile
|
|
@ -6,14 +6,15 @@
|
||||||
# By: kcolin <marvin@42.fr> +#+ +:+ +#+ #
|
# By: kcolin <marvin@42.fr> +#+ +:+ +#+ #
|
||||||
# +#+#+#+#+#+ +#+ #
|
# +#+#+#+#+#+ +#+ #
|
||||||
# Created: 2024/10/24 11:29:38 by kcolin #+# #+# #
|
# Created: 2024/10/24 11:29:38 by kcolin #+# #+# #
|
||||||
# Updated: 2024/10/24 14:19:43 by kcolin ### ########.fr #
|
# Updated: 2024/11/01 12:32:53 by kcolin ### ########.fr #
|
||||||
# #
|
# #
|
||||||
# **************************************************************************** #
|
# **************************************************************************** #
|
||||||
|
|
||||||
override CFLAGS += -Wall -Wextra -Werror -ggdb
|
override CFLAGS += -Wall -Wextra -Werror -ggdb
|
||||||
|
|
||||||
NAME = libgnl.a
|
NAME = libgnl.a
|
||||||
SRCS = get_next_line.c
|
SRCS = get_next_line.c \
|
||||||
|
get_next_line_utils.c
|
||||||
OBJS = $(SRCS:.c=.o)
|
OBJS = $(SRCS:.c=.o)
|
||||||
|
|
||||||
TEST = test
|
TEST = test
|
||||||
|
|
|
||||||
111
get_next_line.c
111
get_next_line.c
|
|
@ -6,13 +6,18 @@
|
||||||
/* By: kcolin <marvin@42.fr> +#+ +:+ +#+ */
|
/* By: kcolin <marvin@42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2024/10/23 20:32:46 by kcolin #+# #+# */
|
/* Created: 2024/10/23 20:32:46 by kcolin #+# #+# */
|
||||||
/* Updated: 2024/11/01 12:14:49 by kcolin ### ########.fr */
|
/* Updated: 2024/11/01 12:34:14 by kcolin ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
#include "get_next_line.h"
|
#include "get_next_line.h"
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
char *ft_strchr(const char *s, int c);
|
||||||
|
size_t ft_strlen(const char *s);
|
||||||
|
size_t ft_strlcpy(char *dst, const char *src, size_t size);
|
||||||
|
char *ft_strjoin_free_s1(char const *s1, char const *s2);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
static int num_allocs = 0;
|
static int num_allocs = 0;
|
||||||
|
|
||||||
|
|
@ -28,95 +33,6 @@ static void *xmalloc(size_t size)
|
||||||
#define malloc(x) xmalloc(x)
|
#define malloc(x) xmalloc(x)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
char *ft_strchr(const char *s, int c)
|
|
||||||
{
|
|
||||||
size_t i;
|
|
||||||
|
|
||||||
i = 0;
|
|
||||||
while (s[i] != '\0')
|
|
||||||
{
|
|
||||||
if (s[i] == (char)c)
|
|
||||||
return ((char *)s + i);
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
if ((char)c == '\0')
|
|
||||||
return ((char *)s + i);
|
|
||||||
return (0);
|
|
||||||
}
|
|
||||||
|
|
||||||
size_t ft_strlen(const char *s)
|
|
||||||
{
|
|
||||||
size_t i;
|
|
||||||
|
|
||||||
i = 0;
|
|
||||||
while (s[i] != '\0')
|
|
||||||
i++;
|
|
||||||
return (i);
|
|
||||||
}
|
|
||||||
|
|
||||||
size_t ft_strlcpy(char *dst, const char *src, size_t size)
|
|
||||||
{
|
|
||||||
size_t i;
|
|
||||||
|
|
||||||
i = 0;
|
|
||||||
while (src[i] != 0)
|
|
||||||
{
|
|
||||||
if (i < size)
|
|
||||||
dst[i] = src[i];
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
if (size > 0)
|
|
||||||
{
|
|
||||||
if (size - 1 > i)
|
|
||||||
dst[i] = '\0';
|
|
||||||
else
|
|
||||||
dst[size - 1] = '\0';
|
|
||||||
}
|
|
||||||
return (i);
|
|
||||||
}
|
|
||||||
|
|
||||||
size_t ft_strlcat(char *dst, const char *src, size_t size)
|
|
||||||
{
|
|
||||||
size_t dst_len;
|
|
||||||
size_t src_len;
|
|
||||||
size_t i;
|
|
||||||
|
|
||||||
dst_len = 0;
|
|
||||||
while (dst[dst_len] != '\0')
|
|
||||||
dst_len++;
|
|
||||||
src_len = 0;
|
|
||||||
while (src[src_len] != '\0')
|
|
||||||
src_len++;
|
|
||||||
if (size <= dst_len)
|
|
||||||
return (size + src_len);
|
|
||||||
i = 0;
|
|
||||||
while (src[i] != '\0' && i < size - dst_len - 1)
|
|
||||||
{
|
|
||||||
dst[dst_len + i] = src[i];
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
dst[dst_len + i] = '\0';
|
|
||||||
return (dst_len + src_len);
|
|
||||||
}
|
|
||||||
|
|
||||||
char *ft_strjoin_free_s1(char const *s1, char const *s2)
|
|
||||||
{
|
|
||||||
char *out;
|
|
||||||
size_t len;
|
|
||||||
|
|
||||||
len = ft_strlen(s1) + ft_strlen(s2) + 1;
|
|
||||||
out = malloc(len);
|
|
||||||
if (out == NULL)
|
|
||||||
{
|
|
||||||
free((void *)s1);
|
|
||||||
return (NULL);
|
|
||||||
}
|
|
||||||
ft_strlcpy(out, s1, len);
|
|
||||||
ft_strlcat(out, s2, len);
|
|
||||||
free((void *)s1);
|
|
||||||
return (out);
|
|
||||||
}
|
|
||||||
|
|
||||||
char *shorten_buffer(char *buffer)
|
char *shorten_buffer(char *buffer)
|
||||||
{
|
{
|
||||||
char *outbuf;
|
char *outbuf;
|
||||||
|
|
@ -127,24 +43,15 @@ char *shorten_buffer(char *buffer)
|
||||||
addr_of_newline = ft_strchr(buffer, '\n');
|
addr_of_newline = ft_strchr(buffer, '\n');
|
||||||
if (addr_of_newline == NULL)
|
if (addr_of_newline == NULL)
|
||||||
{
|
{
|
||||||
outbuf = malloc(1 * sizeof(char));
|
buffer[0] = '\0';
|
||||||
if (outbuf == NULL)
|
return (buffer);
|
||||||
{
|
|
||||||
free(buffer);
|
|
||||||
return (NULL);
|
|
||||||
}
|
|
||||||
outbuf[0] = '\0';
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
index_after_newline = addr_of_newline + 1 - buffer;
|
index_after_newline = addr_of_newline + 1 - buffer;
|
||||||
outlen = ft_strlen(buffer + index_after_newline) + 1;
|
outlen = ft_strlen(buffer + index_after_newline) + 1;
|
||||||
outbuf = malloc(outlen * sizeof(char));
|
outbuf = malloc(outlen * sizeof(char));
|
||||||
if (outbuf == NULL)
|
if (outbuf != NULL)
|
||||||
{
|
|
||||||
free(buffer);
|
|
||||||
return (NULL);
|
|
||||||
}
|
|
||||||
ft_strlcpy(outbuf, buffer + index_after_newline, outlen);
|
ft_strlcpy(outbuf, buffer + index_after_newline, outlen);
|
||||||
}
|
}
|
||||||
free(buffer);
|
free(buffer);
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,103 @@
|
||||||
|
/* ************************************************************************** */
|
||||||
|
/* */
|
||||||
|
/* ::: :::::::: */
|
||||||
|
/* get_next_line_utils.c :+: :+: :+: */
|
||||||
|
/* +:+ +:+ +:+ */
|
||||||
|
/* By: kcolin <marvin@42.fr> +#+ +:+ +#+ */
|
||||||
|
/* +#+#+#+#+#+ +#+ */
|
||||||
|
/* Created: 2024/11/01 12:31:58 by kcolin #+# #+# */
|
||||||
|
/* Updated: 2024/11/01 12:32:00 by kcolin ### ########.fr */
|
||||||
|
/* */
|
||||||
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
#include "get_next_line.h"
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
char *ft_strchr(const char *s, int c)
|
||||||
|
{
|
||||||
|
size_t i;
|
||||||
|
|
||||||
|
i = 0;
|
||||||
|
while (s[i] != '\0')
|
||||||
|
{
|
||||||
|
if (s[i] == (char)c)
|
||||||
|
return ((char *)s + i);
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
if ((char)c == '\0')
|
||||||
|
return ((char *)s + i);
|
||||||
|
return (0);
|
||||||
|
}
|
||||||
|
|
||||||
|
size_t ft_strlen(const char *s)
|
||||||
|
{
|
||||||
|
size_t i;
|
||||||
|
|
||||||
|
i = 0;
|
||||||
|
while (s[i] != '\0')
|
||||||
|
i++;
|
||||||
|
return (i);
|
||||||
|
}
|
||||||
|
|
||||||
|
size_t ft_strlcpy(char *dst, const char *src, size_t size)
|
||||||
|
{
|
||||||
|
size_t i;
|
||||||
|
|
||||||
|
i = 0;
|
||||||
|
while (src[i] != 0)
|
||||||
|
{
|
||||||
|
if (i < size)
|
||||||
|
dst[i] = src[i];
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
if (size > 0)
|
||||||
|
{
|
||||||
|
if (size - 1 > i)
|
||||||
|
dst[i] = '\0';
|
||||||
|
else
|
||||||
|
dst[size - 1] = '\0';
|
||||||
|
}
|
||||||
|
return (i);
|
||||||
|
}
|
||||||
|
|
||||||
|
size_t ft_strlcat(char *dst, const char *src, size_t size)
|
||||||
|
{
|
||||||
|
size_t dst_len;
|
||||||
|
size_t src_len;
|
||||||
|
size_t i;
|
||||||
|
|
||||||
|
dst_len = 0;
|
||||||
|
while (dst[dst_len] != '\0')
|
||||||
|
dst_len++;
|
||||||
|
src_len = 0;
|
||||||
|
while (src[src_len] != '\0')
|
||||||
|
src_len++;
|
||||||
|
if (size <= dst_len)
|
||||||
|
return (size + src_len);
|
||||||
|
i = 0;
|
||||||
|
while (src[i] != '\0' && i < size - dst_len - 1)
|
||||||
|
{
|
||||||
|
dst[dst_len + i] = src[i];
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
dst[dst_len + i] = '\0';
|
||||||
|
return (dst_len + src_len);
|
||||||
|
}
|
||||||
|
|
||||||
|
char *ft_strjoin_free_s1(char const *s1, char const *s2)
|
||||||
|
{
|
||||||
|
char *out;
|
||||||
|
size_t len;
|
||||||
|
|
||||||
|
len = ft_strlen(s1) + ft_strlen(s2) + 1;
|
||||||
|
out = malloc(len);
|
||||||
|
if (out == NULL)
|
||||||
|
{
|
||||||
|
free((void *)s1);
|
||||||
|
return (NULL);
|
||||||
|
}
|
||||||
|
ft_strlcpy(out, s1, len);
|
||||||
|
ft_strlcat(out, s2, len);
|
||||||
|
free((void *)s1);
|
||||||
|
return (out);
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue