correction free history + crash potentiel sur la table de hash
This commit is contained in:
parent
480c9810c9
commit
923ffa1ea0
5 changed files with 11 additions and 29 deletions
|
|
@ -6,7 +6,7 @@
|
||||||
/* By: gwojda <gwojda@student.42.fr> +#+ +:+ +#+ */
|
/* By: gwojda <gwojda@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2017/02/18 11:10:14 by gwojda #+# #+# */
|
/* Created: 2017/02/18 11:10:14 by gwojda #+# #+# */
|
||||||
/* Updated: 2017/02/18 16:35:34 by gwojda ### ########.fr */
|
/* Updated: 2017/02/19 10:59:19 by gwojda ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
/* By: gwojda <gwojda@student.42.fr> +#+ +:+ +#+ */
|
/* By: gwojda <gwojda@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2017/02/18 11:32:18 by gwojda #+# #+# */
|
/* Created: 2017/02/18 11:32:18 by gwojda #+# #+# */
|
||||||
/* Updated: 2017/02/18 14:38:05 by gwojda ### ########.fr */
|
/* Updated: 2017/02/19 12:01:37 by gwojda ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
|
@ -25,5 +25,11 @@ int ft_hash_str(char *str)
|
||||||
id = id % MAX_HASH;
|
id = id % MAX_HASH;
|
||||||
++i;
|
++i;
|
||||||
}
|
}
|
||||||
|
if (id < 0)
|
||||||
|
{
|
||||||
|
id *= -1;
|
||||||
|
id = id % MAX_HASH;
|
||||||
|
}
|
||||||
|
ft_printf("id = %d\n", id);
|
||||||
return (id);
|
return (id);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
/* By: gwojda <gwojda@student.42.fr> +#+ +:+ +#+ */
|
/* By: gwojda <gwojda@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2017/01/25 14:09:39 by gwojda #+# #+# */
|
/* Created: 2017/01/25 14:09:39 by gwojda #+# #+# */
|
||||||
/* Updated: 2017/02/03 17:03:23 by gwojda ### ########.fr */
|
/* Updated: 2017/02/19 11:55:44 by gwojda ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
|
@ -44,12 +44,12 @@ void ft_realloc_str_history(char **str, size_t pos, int nb_his, int len)
|
||||||
if (new_str3)
|
if (new_str3)
|
||||||
{
|
{
|
||||||
new_str2 = ft_strjoin(new_str, new_str3);
|
new_str2 = ft_strjoin(new_str, new_str3);
|
||||||
free(new_str);
|
|
||||||
new_str3 = ft_strjoin(new_str2, (*str) + pos + len);
|
new_str3 = ft_strjoin(new_str2, (*str) + pos + len);
|
||||||
free(new_str2);
|
free(new_str2);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
new_str3 = ft_strjoin(new_str, (*str) + pos + len);
|
new_str3 = ft_strjoin(new_str, (*str) + pos + len);
|
||||||
|
free(new_str);
|
||||||
free(*str);
|
free(*str);
|
||||||
*str = new_str3;
|
*str = new_str3;
|
||||||
}
|
}
|
||||||
|
|
@ -81,12 +81,12 @@ void ft_realloc_str_history_2(char **str, size_t pos, char *s)
|
||||||
if (new_str3)
|
if (new_str3)
|
||||||
{
|
{
|
||||||
new_str2 = ft_strjoin(new_str, new_str3);
|
new_str2 = ft_strjoin(new_str, new_str3);
|
||||||
free(new_str);
|
|
||||||
new_str3 = ft_strjoin(new_str2, (*str) + pos + ft_strlen(s) + 1);
|
new_str3 = ft_strjoin(new_str2, (*str) + pos + ft_strlen(s) + 1);
|
||||||
free(new_str2);
|
free(new_str2);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
new_str3 = ft_strjoin(new_str, (*str) + pos + ft_strlen(s) + 1);
|
new_str3 = ft_strjoin(new_str, (*str) + pos + ft_strlen(s) + 1);
|
||||||
|
free(new_str);
|
||||||
free(s);
|
free(s);
|
||||||
free(*str);
|
free(*str);
|
||||||
*str = new_str3;
|
*str = new_str3;
|
||||||
|
|
|
||||||
21
42sh/test
21
42sh/test
|
|
@ -1,21 +0,0 @@
|
||||||
[7m[33m shell_init.c [1m[34m28 [0minteractive shell settings[0m
|
|
||||||
[7m[33m main.c [1m[34m88 [0m[7m[1m[32mstart of shell[0m JOBC is ON[0m
|
|
||||||
[7m[33m main.c [1m[34m64 [0m[[35mhash -r[0m] stack=[0] state=[4][0m
|
|
||||||
[7m[33m token_print.c [1m[34m29 [0m13:[hash][0m
|
|
||||||
[7m[33m token_print.c [1m[34m29 [0m13:[-r][0m
|
|
||||||
[7m[33m main.c [1m[34m64 [0m[[35mhash[0m] stack=[0] state=[4][0m
|
|
||||||
[7m[33m token_print.c [1m[34m29 [0m13:[hash][0m
|
|
||||||
[7m[33m main.c [1m[34m64 [0m[[35mls[0m] stack=[0] state=[4][0m
|
|
||||||
[7m[33m token_print.c [1m[34m29 [0m13:[ls][0m
|
|
||||||
[7m[33m main.c [1m[34m64 [0m[[35mls[0m] stack=[0] state=[4][0m
|
|
||||||
[7m[33m token_print.c [1m[34m29 [0m13:[ls][0m
|
|
||||||
[7m[33m main.c [1m[34m64 [0m[[35mgrep[0m] stack=[0] state=[4][0m
|
|
||||||
[7m[33m token_print.c [1m[34m29 [0m13:[grep][0m
|
|
||||||
[7m[33m main.c [1m[34m64 [0m[[35mhash[0m] stack=[0] state=[4][0m
|
|
||||||
[7m[33m token_print.c [1m[34m29 [0m13:[hash][0m
|
|
||||||
[7m[33m main.c [1m[34m64 [0m[[35mhash -r[0m] stack=[0] state=[4][0m
|
|
||||||
[7m[33m token_print.c [1m[34m29 [0m13:[hash][0m
|
|
||||||
[7m[33m token_print.c [1m[34m29 [0m13:[-r][0m
|
|
||||||
[7m[33m main.c [1m[34m64 [0m[[35mhash[0m] stack=[0] state=[4][0m
|
|
||||||
[7m[33m token_print.c [1m[34m29 [0m13:[hash][0m
|
|
||||||
[7m[33m shell_exit.c [1m[34m17 [0mshell_exit()[0m
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
[7m[33m shell_init.c [1m[34m28 [0minteractive shell settings[0m
|
|
||||||
[7m[33m main.c [1m[34m88 [0m[7m[1m[32mstart of shell[0m JOBC is ON[0m
|
|
||||||
[7m[33m shell_exit.c [1m[34m17 [0mshell_exit()[0m
|
|
||||||
Loading…
Reference in a new issue