From 712e06565d69b1dd71acb644ab70b753c9189774 Mon Sep 17 00:00:00 2001 From: Guy Baconniere Date: Tue, 24 Aug 2021 17:16:52 +0200 Subject: [PATCH] sync --- C_09/Makefile | 2 +- C_09/git_old/ex00/ft_putchar.c | 18 ++++++ C_09/git_old/ex00/ft_putstr.c | 22 +++++++ C_09/git_old/ex00/ft_strcmp.c | 28 ++++++++ C_09/git_old/ex00/ft_strlen.c | 21 ++++++ C_09/git_old/ex00/ft_swap.c | 20 ++++++ C_09/git_old/ex00/libft_creator.sh | 6 ++ C_09/git_old/ex00/main.c | 46 ++++++++++++++ C_09/git_old/ex00/main.sh | 14 ++++ C_09/git_old/ex01/Makefile | 50 +++++++++++++++ C_09/git_old/ex01/includes/ft.h | 21 ++++++ C_09/git_old/ex01/main.c | 46 ++++++++++++++ C_09/git_old/ex01/main.sh | 15 +++++ C_09/git_old/ex01/srcs/ft_putchar.c | 18 ++++++ C_09/git_old/ex01/srcs/ft_putstr.c | 22 +++++++ C_09/git_old/ex01/srcs/ft_strcmp.c | 28 ++++++++ C_09/git_old/ex01/srcs/ft_strlen.c | 21 ++++++ C_09/git_old/ex01/srcs/ft_swap.c | 20 ++++++ C_09/git_old/ex02/ft_split.c | 99 +++++++++++++++++++++++++++++ C_09/git_old/ex02/main.c | 40 ++++++++++++ C_09/git_old/ex02/main.sh | 9 +++ 21 files changed, 565 insertions(+), 1 deletion(-) create mode 100644 C_09/git_old/ex00/ft_putchar.c create mode 100644 C_09/git_old/ex00/ft_putstr.c create mode 100644 C_09/git_old/ex00/ft_strcmp.c create mode 100644 C_09/git_old/ex00/ft_strlen.c create mode 100644 C_09/git_old/ex00/ft_swap.c create mode 100755 C_09/git_old/ex00/libft_creator.sh create mode 100644 C_09/git_old/ex00/main.c create mode 100755 C_09/git_old/ex00/main.sh create mode 100644 C_09/git_old/ex01/Makefile create mode 100644 C_09/git_old/ex01/includes/ft.h create mode 100644 C_09/git_old/ex01/main.c create mode 100755 C_09/git_old/ex01/main.sh create mode 100644 C_09/git_old/ex01/srcs/ft_putchar.c create mode 100644 C_09/git_old/ex01/srcs/ft_putstr.c create mode 100644 C_09/git_old/ex01/srcs/ft_strcmp.c create mode 100644 C_09/git_old/ex01/srcs/ft_strlen.c create mode 100644 C_09/git_old/ex01/srcs/ft_swap.c create mode 100644 C_09/git_old/ex02/ft_split.c create mode 100644 C_09/git_old/ex02/main.c create mode 100755 C_09/git_old/ex02/main.sh diff --git a/C_09/Makefile b/C_09/Makefile index 2b16cfb..f7df363 100644 --- a/C_09/Makefile +++ b/C_09/Makefile @@ -11,7 +11,7 @@ # clone: - @git clone git@vogsphere.42lausanne.ch:vogsphere/intra-uuid-8c6298c5-3398-4408-8f72-f127b4ef29de-3736152 git + @git clone git@vogsphere.42lausanne.ch:vogsphere/intra-uuid-c788fb82-b004-4075-9eed-e90d2aa94bc7-3745071 git cc: @norminette -R CheckForbiddenSourceHeader diff --git a/C_09/git_old/ex00/ft_putchar.c b/C_09/git_old/ex00/ft_putchar.c new file mode 100644 index 0000000..7cfa8c1 --- /dev/null +++ b/C_09/git_old/ex00/ft_putchar.c @@ -0,0 +1,18 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_putchar.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/22 14:41:08 by gbaconni #+# #+# */ +/* Updated: 2021/08/22 14:41:17 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include + +void ft_putchar(char c) +{ + write(1, &c, 1); +} diff --git a/C_09/git_old/ex00/ft_putstr.c b/C_09/git_old/ex00/ft_putstr.c new file mode 100644 index 0000000..4368cae --- /dev/null +++ b/C_09/git_old/ex00/ft_putstr.c @@ -0,0 +1,22 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_putstr.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/22 14:42:02 by gbaconni #+# #+# */ +/* Updated: 2021/08/22 14:42:04 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include + +void ft_putstr(char *str) +{ + char *p_str; + + p_str = str; + while (*p_str != '\0') + write(1, p_str++, 1); +} diff --git a/C_09/git_old/ex00/ft_strcmp.c b/C_09/git_old/ex00/ft_strcmp.c new file mode 100644 index 0000000..7fd53da --- /dev/null +++ b/C_09/git_old/ex00/ft_strcmp.c @@ -0,0 +1,28 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strcmp.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/22 14:43:35 by gbaconni #+# #+# */ +/* Updated: 2021/08/22 14:43:44 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +int ft_strcmp(char *s1, char *s2) +{ + char c1; + char c2; + + c1 = '\0'; + c2 = '\0'; + while (c1 == c2) + { + c1 = *s1++; + c2 = *s2++; + if (c1 == '\0') + break ; + } + return (c1 - c2); +} diff --git a/C_09/git_old/ex00/ft_strlen.c b/C_09/git_old/ex00/ft_strlen.c new file mode 100644 index 0000000..324bc67 --- /dev/null +++ b/C_09/git_old/ex00/ft_strlen.c @@ -0,0 +1,21 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strlen.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/22 14:42:47 by gbaconni #+# #+# */ +/* Updated: 2021/08/22 14:43:21 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +int ft_strlen(char *str) +{ + char *p_str; + + p_str = str; + while (*p_str != '\0') + p_str++; + return (p_str - str); +} diff --git a/C_09/git_old/ex00/ft_swap.c b/C_09/git_old/ex00/ft_swap.c new file mode 100644 index 0000000..373fbbe --- /dev/null +++ b/C_09/git_old/ex00/ft_swap.c @@ -0,0 +1,20 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_swap.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/22 14:41:30 by gbaconni #+# #+# */ +/* Updated: 2021/08/22 14:41:35 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +void ft_swap(int *a, int *b) +{ + int n; + + n = *a; + *a = *b; + *b = n; +} diff --git a/C_09/git_old/ex00/libft_creator.sh b/C_09/git_old/ex00/libft_creator.sh new file mode 100755 index 0000000..2490941 --- /dev/null +++ b/C_09/git_old/ex00/libft_creator.sh @@ -0,0 +1,6 @@ +#!/bin/sh +rm -f *.o libft.a +gcc -Wall -Wextra -Werror -c *.c +ar -cq libft.a *.o +#ar -t libft.a +#rm -f *.o diff --git a/C_09/git_old/ex00/main.c b/C_09/git_old/ex00/main.c new file mode 100644 index 0000000..bc1c4cc --- /dev/null +++ b/C_09/git_old/ex00/main.c @@ -0,0 +1,46 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* main.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/22 14:55:33 by gbaconni #+# #+# */ +/* Updated: 2021/08/22 17:19:48 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include +#include +#include +#include + +void ft_putchar(char c); +void ft_swap(int *a, int *b); +void ft_putstr(char *str); +int ft_strlen(char *str); +int ft_strcmp(char *s1, char *s2); + +int main(void) +{ + int a; + int b; + int r; + + printf("ft_putchar: (expected Z)\n"); + ft_putchar('Z'); + printf("\n\n"); + a = 42; + b = 21; + printf("ft_swap: (expected a=21 b=42)\n"); + ft_swap(&a, &b); + printf("a=%d b=%d\n\n", a, b); + printf("ft_putstr: (expected hello)\n"); + ft_putstr("hello\n\n"); + printf("ft_strlen: (expected 5)\n"); + r = ft_strlen("hello"); + printf("%d\n\n", r); + printf("ft_strcmp: (expected 0)\n"); + r = ft_strcmp("abc","abc"); + printf("%d\n\n", r); +} diff --git a/C_09/git_old/ex00/main.sh b/C_09/git_old/ex00/main.sh new file mode 100755 index 0000000..5892b30 --- /dev/null +++ b/C_09/git_old/ex00/main.sh @@ -0,0 +1,14 @@ +#!/bin/sh +set -e +find . -type f -name '*.h' -exec \ +norminette -R CheckDefine {} \; +find . -type f -name '*.c' \! -name 'main.c' -exec \ +norminette -R CheckForbiddenSourceHeader {} \; +echo +sh libft_creator.sh +rm -f *.o +echo +echo $(basename $PWD): +gcc -Wall -Wextra -Werror -o a.out -L. -lft main.c +./a.out "$@" +rm -f a.out diff --git a/C_09/git_old/ex01/Makefile b/C_09/git_old/ex01/Makefile new file mode 100644 index 0000000..02d7b20 --- /dev/null +++ b/C_09/git_old/ex01/Makefile @@ -0,0 +1,50 @@ +# **************************************************************************** # +# # +# ::: :::::::: # +# Makefile :+: :+: :+: # +# +:+ +:+ +:+ # +# By: gbaconni +#+ +:+ +#+ # +# +#+#+#+#+#+ +#+ # +# Created: 2021/08/22 17:28:57 by gbaconni #+# #+# # +# Updated: 2021/08/22 18:12:53 by gbaconni ### ########.fr # +# # +# **************************************************************************** # + +# +# make fclean +# make +# + +NAME = libft.a + +SRCDIR = srcs + +SRC = ft_putchar.c \ + ft_swap.c \ + ft_putstr.c \ + ft_strlen.c \ + ft_strcmp.c + +HDR = ft.h + +INCLUDE = includes + +CC = gcc +CFLAGS = -Wall -Wextra -Werror +AR = ar +ARFLAGS = -cq + +all: $(NAME) + +$(NAME): + cd $(SRCDIR) && $(CC) $(CFLAGS) -I $(INCLUDE) -c $(SRC) + $(AR) $(ARFLAGS) $(NAME) $(SRCDIR)/*.o + +clean: + @/bin/rm -f **/*.o + +fclean: clean + @/bin/rm -f $(NAME) + +re: fclean all + diff --git a/C_09/git_old/ex01/includes/ft.h b/C_09/git_old/ex01/includes/ft.h new file mode 100644 index 0000000..4ee5228 --- /dev/null +++ b/C_09/git_old/ex01/includes/ft.h @@ -0,0 +1,21 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/20 10:17:09 by gbaconni #+# #+# */ +/* Updated: 2021/08/22 17:40:13 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ +#ifndef FT_H +# define FT_H + +void ft_putchar(char c); +void ft_swap(int *a, int *b); +void ft_putstr(char *str); +int ft_strlen(char *str); +int ft_strcmp(char *s1, char *s2); + +#endif diff --git a/C_09/git_old/ex01/main.c b/C_09/git_old/ex01/main.c new file mode 100644 index 0000000..bc1c4cc --- /dev/null +++ b/C_09/git_old/ex01/main.c @@ -0,0 +1,46 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* main.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/22 14:55:33 by gbaconni #+# #+# */ +/* Updated: 2021/08/22 17:19:48 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include +#include +#include +#include + +void ft_putchar(char c); +void ft_swap(int *a, int *b); +void ft_putstr(char *str); +int ft_strlen(char *str); +int ft_strcmp(char *s1, char *s2); + +int main(void) +{ + int a; + int b; + int r; + + printf("ft_putchar: (expected Z)\n"); + ft_putchar('Z'); + printf("\n\n"); + a = 42; + b = 21; + printf("ft_swap: (expected a=21 b=42)\n"); + ft_swap(&a, &b); + printf("a=%d b=%d\n\n", a, b); + printf("ft_putstr: (expected hello)\n"); + ft_putstr("hello\n\n"); + printf("ft_strlen: (expected 5)\n"); + r = ft_strlen("hello"); + printf("%d\n\n", r); + printf("ft_strcmp: (expected 0)\n"); + r = ft_strcmp("abc","abc"); + printf("%d\n\n", r); +} diff --git a/C_09/git_old/ex01/main.sh b/C_09/git_old/ex01/main.sh new file mode 100755 index 0000000..83595c0 --- /dev/null +++ b/C_09/git_old/ex01/main.sh @@ -0,0 +1,15 @@ +#!/bin/sh +set -e +find . -type f -name '*.h' -exec \ +norminette -R CheckDefine {} \; +find . -type f -name '*.c' \! -name 'main.c' -exec \ +norminette -R CheckForbiddenSourceHeader {} \; +echo +make fclean +make +rm -f *.o +echo +echo $(basename $PWD): +gcc -Wall -Wextra -Werror -o a.out -L. -lft main.c +./a.out "$@" +rm -f a.out diff --git a/C_09/git_old/ex01/srcs/ft_putchar.c b/C_09/git_old/ex01/srcs/ft_putchar.c new file mode 100644 index 0000000..7cfa8c1 --- /dev/null +++ b/C_09/git_old/ex01/srcs/ft_putchar.c @@ -0,0 +1,18 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_putchar.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/22 14:41:08 by gbaconni #+# #+# */ +/* Updated: 2021/08/22 14:41:17 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include + +void ft_putchar(char c) +{ + write(1, &c, 1); +} diff --git a/C_09/git_old/ex01/srcs/ft_putstr.c b/C_09/git_old/ex01/srcs/ft_putstr.c new file mode 100644 index 0000000..4368cae --- /dev/null +++ b/C_09/git_old/ex01/srcs/ft_putstr.c @@ -0,0 +1,22 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_putstr.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/22 14:42:02 by gbaconni #+# #+# */ +/* Updated: 2021/08/22 14:42:04 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include + +void ft_putstr(char *str) +{ + char *p_str; + + p_str = str; + while (*p_str != '\0') + write(1, p_str++, 1); +} diff --git a/C_09/git_old/ex01/srcs/ft_strcmp.c b/C_09/git_old/ex01/srcs/ft_strcmp.c new file mode 100644 index 0000000..7fd53da --- /dev/null +++ b/C_09/git_old/ex01/srcs/ft_strcmp.c @@ -0,0 +1,28 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strcmp.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/22 14:43:35 by gbaconni #+# #+# */ +/* Updated: 2021/08/22 14:43:44 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +int ft_strcmp(char *s1, char *s2) +{ + char c1; + char c2; + + c1 = '\0'; + c2 = '\0'; + while (c1 == c2) + { + c1 = *s1++; + c2 = *s2++; + if (c1 == '\0') + break ; + } + return (c1 - c2); +} diff --git a/C_09/git_old/ex01/srcs/ft_strlen.c b/C_09/git_old/ex01/srcs/ft_strlen.c new file mode 100644 index 0000000..324bc67 --- /dev/null +++ b/C_09/git_old/ex01/srcs/ft_strlen.c @@ -0,0 +1,21 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strlen.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/22 14:42:47 by gbaconni #+# #+# */ +/* Updated: 2021/08/22 14:43:21 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +int ft_strlen(char *str) +{ + char *p_str; + + p_str = str; + while (*p_str != '\0') + p_str++; + return (p_str - str); +} diff --git a/C_09/git_old/ex01/srcs/ft_swap.c b/C_09/git_old/ex01/srcs/ft_swap.c new file mode 100644 index 0000000..373fbbe --- /dev/null +++ b/C_09/git_old/ex01/srcs/ft_swap.c @@ -0,0 +1,20 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_swap.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/22 14:41:30 by gbaconni #+# #+# */ +/* Updated: 2021/08/22 14:41:35 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +void ft_swap(int *a, int *b) +{ + int n; + + n = *a; + *a = *b; + *b = n; +} diff --git a/C_09/git_old/ex02/ft_split.c b/C_09/git_old/ex02/ft_split.c new file mode 100644 index 0000000..bc28908 --- /dev/null +++ b/C_09/git_old/ex02/ft_split.c @@ -0,0 +1,99 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_split.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/22 18:14:04 by gbaconni #+# #+# */ +/* Updated: 2021/08/24 13:00:34 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include +#include + +static char *ft_strncpy(char *dest, char *src, unsigned int n) +{ + unsigned int i; + + i = 0; + while (i < n && src[i] != '\0') + { + dest[i] = src[i]; + i++; + } + while (i < n) + { + dest[i] = '\0'; + i++; + } + return (dest); +} + +static int ft_is_charset(char c, char *charset) +{ + char *p_charset; + int r; + + r = 0; + p_charset = charset; + while (*p_charset != '\0') + r |= (*p_charset++ == c); + return (r); +} + +static int ft_split_len(char *str, char *charset) +{ + char *p_str; + int size; + + size = 2; + p_str = str; + while (*p_str != '\0') + { + if (ft_is_charset(*p_str++, charset) == 1) + size++; + } + return (size); +} + +char *ft_copy(char *str, int size) +{ + char *result; + + result = (char *) malloc((size + 1) * sizeof(char)); + if (size > 0) + ft_strncpy(result, str, size); + else + result[0] = '\0'; + return (result); +} + +char **ft_split(char *str, char *charset) +{ + char **strs; + char *start; + int size; + int i; + + size = ft_split_len(str, charset); + strs = malloc((size) * sizeof(strs)); + start = str; + i = 0; + while (1) + { + if (ft_is_charset(*str, charset) == 1 || *str == '\0') + { + size = str - start; + if (size > 0) + strs[i++] = ft_copy(start, size); + start = str + 1; + if (*str == '\0') + break ; + } + str++; + } + strs[i] = ft_copy(str, 0); + return (strs); +} diff --git a/C_09/git_old/ex02/main.c b/C_09/git_old/ex02/main.c new file mode 100644 index 0000000..97abb88 --- /dev/null +++ b/C_09/git_old/ex02/main.c @@ -0,0 +1,40 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* main.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/18 10:50:59 by gbaconni #+# #+# */ +/* Updated: 2021/08/24 11:56:21 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include +#include +#include +#include + +char **ft_split(char *str, char *charset); + +int main(void) +{ + char str[32]; + char charset[32]; + char **strs; + int i; + + printf("Input String [Max 32]: "); + scanf("%s", str); + printf("Input Charset [Max 32]: "); + scanf("%s", charset); + strs = ft_split(str, charset); + printf("str=%s charset=%s (ft_split)\n", str, charset); + i = 0; + while (strs[i][0] != '\0') + { + printf("strs[%d] = %s\n", i, strs[i]); + i++; + } + return (0); +} diff --git a/C_09/git_old/ex02/main.sh b/C_09/git_old/ex02/main.sh new file mode 100755 index 0000000..3042505 --- /dev/null +++ b/C_09/git_old/ex02/main.sh @@ -0,0 +1,9 @@ +#!/bin/sh +set -e +rm -f a.out +#norminette -R CheckForbiddenSourceHeader ft_*.c +norminette -R CheckForbiddenSourceHeader +gcc -Wall -Wextra -Werror -o a.out *.c +echo $(basename $PWD): +./a.out +rm -f a.out