From 83ea52445aede962a4035d34f810b5ef16776c12 Mon Sep 17 00:00:00 2001 From: gwojda Date: Tue, 21 Mar 2017 13:55:16 +0100 Subject: [PATCH 1/3] debut fixe completion --- 42sh/Makefile | 4 ++-- 42sh/libft/Makefile | 6 +++--- 42sh/libft/src/str/ft_strsub.c | 4 ++-- 42sh/src/completion/c_clear.c | 2 +- 42sh/src/completion/c_find_files.c | 8 ++++---- 42sh/src/completion/c_init.c | 4 ++-- 42sh/src/completion/c_match_glob.c | 7 +++---- 42sh/src/completion/c_match_update.c | 2 +- 8 files changed, 18 insertions(+), 19 deletions(-) diff --git a/42sh/Makefile b/42sh/Makefile index d500f869..83505027 100644 --- a/42sh/Makefile +++ b/42sh/Makefile @@ -6,14 +6,14 @@ # By: wescande +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2016/08/29 21:32:58 by wescande #+# #+# # -# Updated: 2017/03/21 11:05:18 by gwojda ### ########.fr # +# Updated: 2017/03/21 12:25:18 by gwojda ### ########.fr # # # # **************************************************************************** # NAME = 42sh CC = gcc -FLAGS = -Wall -Wextra -Werror -fvisibility=hidden -fsanitize=address +FLAGS = -Wall -Wextra -Werror -g #-fvisibility=hidden #-fsanitize=address D_FLAGS = -g DELTA = $$(echo "$$(tput cols)-47"|bc) diff --git a/42sh/libft/Makefile b/42sh/libft/Makefile index 1c0fe8e9..66124ab9 100644 --- a/42sh/libft/Makefile +++ b/42sh/libft/Makefile @@ -6,7 +6,7 @@ # By: jhalford +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2017/02/07 16:09:36 by jhalford #+# #+# # -# Updated: 2017/03/20 12:05:06 by wescande ### ########.fr # +# Updated: 2017/03/21 12:25:27 by gwojda ### ########.fr # # # # **************************************************************************** # @@ -17,9 +17,9 @@ AR = ar -rc MKDIR = mkdir -p RM = /bin/rm -rf -W_FLAGS = -Wall -Wextra -Werror +W_FLAGS = -Wall -Wextra -Werror -g D_FLAGS = -g -V_FLAGS = -fvisibility=hidden +V_FLAGS = #-fvisibility=hidden FLAGS = $(W_FLAGS) $(D_FLAGS) $(V_FLAGS) DELTA = $$(echo "$$(tput cols)-47"|bc) diff --git a/42sh/libft/src/str/ft_strsub.c b/42sh/libft/src/str/ft_strsub.c index f4259a58..3f6c31d0 100644 --- a/42sh/libft/src/str/ft_strsub.c +++ b/42sh/libft/src/str/ft_strsub.c @@ -3,10 +3,10 @@ /* ::: :::::::: */ /* ft_strsub.c :+: :+: :+: */ /* +:+ +:+ +:+ */ -/* By: jhalford +#+ +:+ +#+ */ +/* By: jhalford +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2016/11/03 14:58:43 by jhalford #+# #+# */ -/* Updated: 2016/11/25 11:31:36 by jhalford ### ########.fr */ +/* Updated: 2017/03/21 11:38:40 by gwojda ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/42sh/src/completion/c_clear.c b/42sh/src/completion/c_clear.c index 5378d72b..73b52eff 100644 --- a/42sh/src/completion/c_clear.c +++ b/42sh/src/completion/c_clear.c @@ -6,7 +6,7 @@ /* By: alao +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2017/01/10 11:37:43 by alao #+# #+# */ -/* Updated: 2017/03/17 16:46:20 by gwojda ### ########.fr */ +/* Updated: 2017/03/21 12:01:02 by gwojda ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/42sh/src/completion/c_find_files.c b/42sh/src/completion/c_find_files.c index c7538bc8..49933d53 100644 --- a/42sh/src/completion/c_find_files.c +++ b/42sh/src/completion/c_find_files.c @@ -6,7 +6,7 @@ /* By: alao +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2017/01/09 13:31:21 by alao #+# #+# */ -/* Updated: 2017/03/18 09:18:04 by alao ### ########.fr */ +/* Updated: 2017/03/21 13:41:24 by gwojda ### ########.fr */ /* */ /* ************************************************************************** */ @@ -32,10 +32,10 @@ int c_exclusion_folder(t_comp *c) { tmp ? ft_memdel((void *)&tmp) : (0); if (c->rcmd[ft_strlen(c->rcmd) - 1] == '/') - { - c_clear(data_singleton()); +/* { + c_clear(data_singleton());*/ return (0); - } +/* }*/ tmp2 = ft_strjoin(c->match, "/"); c_updater(c, tmp2); tmp2 ? ft_memdel((void *)&tmp2) : (0); diff --git a/42sh/src/completion/c_init.c b/42sh/src/completion/c_init.c index 91039f74..93962e51 100644 --- a/42sh/src/completion/c_init.c +++ b/42sh/src/completion/c_init.c @@ -6,7 +6,7 @@ /* By: alao +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2017/01/09 11:21:16 by alao #+# #+# */ -/* Updated: 2017/03/17 16:51:46 by gwojda ### ########.fr */ +/* Updated: 2017/03/21 11:39:22 by gwojda ### ########.fr */ /* */ /* ************************************************************************** */ @@ -38,7 +38,7 @@ static char *c_trimmer(char *cmd, int st, int nd) st = 0; while (rt[st] == ' ') st++; - tmp = ft_strsub(rt, st, ft_strlen(rt)); + tmp = ft_strsub(rt, st, ft_strlen(rt) - st); if (st) data_singleton()->comp->between = ft_strsub(rt, 0, st); rt ? ft_memdel((void *)&rt) : (0); diff --git a/42sh/src/completion/c_match_glob.c b/42sh/src/completion/c_match_glob.c index b06fa160..d51a8a0c 100644 --- a/42sh/src/completion/c_match_glob.c +++ b/42sh/src/completion/c_match_glob.c @@ -6,7 +6,7 @@ /* By: gwojda +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2017/03/08 17:20:01 by gwojda #+# #+# */ -/* Updated: 2017/03/21 10:09:42 by gwojda ### ########.fr */ +/* Updated: 2017/03/21 13:40:42 by gwojda ### ########.fr */ /* */ /* ************************************************************************** */ @@ -78,9 +78,8 @@ static int c_check_glob(char **ss_glob, char *current_word, str = data_singleton()->line.input; free(current_word); free(glob_echap); - if (!*ss_glob || !**ss_glob) - return (1); - if (!ft_strncmp(str + pos, *ss_glob, ft_strlen(*ss_glob))) + if (!*ss_glob || !**ss_glob || + !ft_strncmp(str + pos, *ss_glob, ft_strlen(*ss_glob))) { ft_sstrfree(ss_glob); return (1); diff --git a/42sh/src/completion/c_match_update.c b/42sh/src/completion/c_match_update.c index 00f32313..29dc725a 100644 --- a/42sh/src/completion/c_match_update.c +++ b/42sh/src/completion/c_match_update.c @@ -6,7 +6,7 @@ /* By: alao +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2017/02/15 12:03:30 by alao #+# #+# */ -/* Updated: 2017/03/19 15:28:50 by gwojda ### ########.fr */ +/* Updated: 2017/03/21 12:07:21 by gwojda ### ########.fr */ /* */ /* ************************************************************************** */ From ea91da06f4f4b6ec3c5fe6a694cf0863411868f4 Mon Sep 17 00:00:00 2001 From: gwojda Date: Tue, 21 Mar 2017 14:43:38 +0100 Subject: [PATCH 2/3] HELP ME ALAO PLS --- 42sh/src/completion/c_clear.c | 3 ++- 42sh/src/completion/c_find_abspath.c | 2 +- 42sh/src/completion/c_find_files.c | 9 +++++---- 42sh/src/completion/c_match_update.c | 9 ++++++--- 42sh/src/completion/c_output.c | 4 ++-- 5 files changed, 16 insertions(+), 11 deletions(-) diff --git a/42sh/src/completion/c_clear.c b/42sh/src/completion/c_clear.c index 73b52eff..9e27a824 100644 --- a/42sh/src/completion/c_clear.c +++ b/42sh/src/completion/c_clear.c @@ -6,7 +6,7 @@ /* By: alao +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2017/01/10 11:37:43 by alao #+# #+# */ -/* Updated: 2017/03/21 12:01:02 by gwojda ### ########.fr */ +/* Updated: 2017/03/21 14:02:41 by gwojda ### ########.fr */ /* */ /* ************************************************************************** */ @@ -65,5 +65,6 @@ int c_clear(t_data *s) c_clear_lst(ptr); s->comp ? ft_memdel((void *)&s->comp) : (0); s->comp = NULL; + data_singleton()->comp = NULL; return (0); } diff --git a/42sh/src/completion/c_find_abspath.c b/42sh/src/completion/c_find_abspath.c index 8e169306..247beed9 100644 --- a/42sh/src/completion/c_find_abspath.c +++ b/42sh/src/completion/c_find_abspath.c @@ -6,7 +6,7 @@ /* By: gwojda +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2017/03/09 16:54:59 by gwojda #+# #+# */ -/* Updated: 2017/03/19 15:22:06 by gwojda ### ########.fr */ +/* Updated: 2017/03/21 14:24:25 by gwojda ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/42sh/src/completion/c_find_files.c b/42sh/src/completion/c_find_files.c index 49933d53..c326ded1 100644 --- a/42sh/src/completion/c_find_files.c +++ b/42sh/src/completion/c_find_files.c @@ -6,7 +6,7 @@ /* By: alao +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2017/01/09 13:31:21 by alao #+# #+# */ -/* Updated: 2017/03/21 13:41:24 by gwojda ### ########.fr */ +/* Updated: 2017/03/21 14:37:27 by gwojda ### ########.fr */ /* */ /* ************************************************************************** */ @@ -32,10 +32,11 @@ int c_exclusion_folder(t_comp *c) { tmp ? ft_memdel((void *)&tmp) : (0); if (c->rcmd[ft_strlen(c->rcmd) - 1] == '/') -/* { - c_clear(data_singleton());*/ + { + c_clear(data_singleton()); return (0); -/* }*/ + } + DG("c->match = \"%s\"", c->match); tmp2 = ft_strjoin(c->match, "/"); c_updater(c, tmp2); tmp2 ? ft_memdel((void *)&tmp2) : (0); diff --git a/42sh/src/completion/c_match_update.c b/42sh/src/completion/c_match_update.c index 29dc725a..03ddda9a 100644 --- a/42sh/src/completion/c_match_update.c +++ b/42sh/src/completion/c_match_update.c @@ -6,7 +6,7 @@ /* By: alao +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2017/02/15 12:03:30 by alao #+# #+# */ -/* Updated: 2017/03/21 12:07:21 by gwojda ### ########.fr */ +/* Updated: 2017/03/21 14:23:01 by gwojda ### ########.fr */ /* */ /* ************************************************************************** */ @@ -50,17 +50,20 @@ int c_rematch(t_comp *c, long int keypress) { if (ft_isascii(keypress)) { + DG("before rematch = \"%s\"", data_singleton()->line.input); c->isrematch = 1; c_term_clear(c); c_refresh_match(c, keypress); c_clear_lst(c); c_matching(data_singleton(), c); - if (c->lst == NULL) + DG("after matching = \"%s\"", data_singleton()->line.input); + if (data_singleton()->comp && c->lst == NULL) c_clear(data_singleton()); - else if (c->lst == c->lst->next) + else if (data_singleton()->comp && c->lst == c->lst->next) return (1); ft_print(keypress, &data_singleton()->line.input, &data_singleton()->line.pos); + DG("after rematch = \"%s\"", data_singleton()->line.input); return (1); } else diff --git a/42sh/src/completion/c_output.c b/42sh/src/completion/c_output.c index 70c11f7e..c4aead28 100644 --- a/42sh/src/completion/c_output.c +++ b/42sh/src/completion/c_output.c @@ -6,7 +6,7 @@ /* By: alao +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2017/02/03 13:10:38 by alao #+# #+# */ -/* Updated: 2017/03/19 15:18:55 by gwojda ### ########.fr */ +/* Updated: 2017/03/21 14:37:14 by gwojda ### ########.fr */ /* */ /* ************************************************************************** */ @@ -33,7 +33,7 @@ static int c_updater_rcmd(t_comp *c) ft_memdel((void *)&data_singleton()->line.input); data_singleton()->line.input = ft_strdup(c->rcmd); } - new_pos = ft_strlen(c->start) + ft_strlen(c->between) + ft_strlen(c->rcmd); + new_pos = ft_strlen(c->rcmd); data_singleton()->line.pos = new_pos; tmp ? ft_memdel((void *)&tmp) : (0); tmp2 ? ft_memdel((void *)&tmp2) : (0); From e24783c0c75a35fe03cc944f4d08ed44e982a913 Mon Sep 17 00:00:00 2001 From: gwojda Date: Tue, 21 Mar 2017 14:53:53 +0100 Subject: [PATCH 3/3] =?UTF-8?q?jai=20trouv=C3=A9=20valgrind=20:D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 42sh/src/completion/c_find_abspath.c | 2 +- 42sh/src/completion/c_find_files.c | 6 +++--- 42sh/src/completion/c_parser.c | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/42sh/src/completion/c_find_abspath.c b/42sh/src/completion/c_find_abspath.c index 247beed9..0148eb76 100644 --- a/42sh/src/completion/c_find_abspath.c +++ b/42sh/src/completion/c_find_abspath.c @@ -6,7 +6,7 @@ /* By: gwojda +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2017/03/09 16:54:59 by gwojda #+# #+# */ -/* Updated: 2017/03/21 14:24:25 by gwojda ### ########.fr */ +/* Updated: 2017/03/21 14:47:18 by gwojda ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/42sh/src/completion/c_find_files.c b/42sh/src/completion/c_find_files.c index c326ded1..ce521d43 100644 --- a/42sh/src/completion/c_find_files.c +++ b/42sh/src/completion/c_find_files.c @@ -6,7 +6,7 @@ /* By: alao +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2017/01/09 13:31:21 by alao #+# #+# */ -/* Updated: 2017/03/21 14:37:27 by gwojda ### ########.fr */ +/* Updated: 2017/03/21 14:53:21 by gwojda ### ########.fr */ /* */ /* ************************************************************************** */ @@ -31,12 +31,12 @@ int c_exclusion_folder(t_comp *c) if ((rep = opendir(tmp)) && (!closedir(rep))) { tmp ? ft_memdel((void *)&tmp) : (0); - if (c->rcmd[ft_strlen(c->rcmd) - 1] == '/') + if (c->rcmd[ft_strlen(c->rcmd) - 1] == '/' + || c->rcmd[ft_strlen(c->rcmd) - 1] == '.') { c_clear(data_singleton()); return (0); } - DG("c->match = \"%s\"", c->match); tmp2 = ft_strjoin(c->match, "/"); c_updater(c, tmp2); tmp2 ? ft_memdel((void *)&tmp2) : (0); diff --git a/42sh/src/completion/c_parser.c b/42sh/src/completion/c_parser.c index 20c8912d..c59e1ad4 100644 --- a/42sh/src/completion/c_parser.c +++ b/42sh/src/completion/c_parser.c @@ -6,7 +6,7 @@ /* By: alao +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2017/01/09 13:52:07 by alao #+# #+# */ -/* Updated: 2017/03/16 10:29:15 by gwojda ### ########.fr */ +/* Updated: 2017/03/21 14:46:39 by gwojda ### ########.fr */ /* */ /* ************************************************************************** */