diff options
author | salad <fmoenne-@student.le-101.fr> | 2020-12-18 16:30:40 +0100 |
---|---|---|
committer | salad <fmoenne-@student.le-101.fr> | 2020-12-18 16:30:40 +0100 |
commit | 47fb7c22f8c9d75058c2a7471bd2be3b76145ff2 (patch) | |
tree | ee84a363812109a364e12d81e6c88cadb28f808f | |
parent | Merged branch 'gnu-compat' (diff) | |
download | 42-minishell-47fb7c22f8c9d75058c2a7471bd2be3b76145ff2.tar.gz 42-minishell-47fb7c22f8c9d75058c2a7471bd2be3b76145ff2.tar.bz2 42-minishell-47fb7c22f8c9d75058c2a7471bd2be3b76145ff2.tar.xz 42-minishell-47fb7c22f8c9d75058c2a7471bd2be3b76145ff2.tar.zst 42-minishell-47fb7c22f8c9d75058c2a7471bd2be3b76145ff2.zip |
nolik
-rw-r--r-- | src/c_ctrls.c | 3 | ||||
-rw-r--r-- | src/c_ctrls.h | 2 | ||||
-rw-r--r-- | src/c_init.c | 4 |
3 files changed, 5 insertions, 4 deletions
diff --git a/src/c_ctrls.c b/src/c_ctrls.c index af0528e..485fb94 100644 --- a/src/c_ctrls.c +++ b/src/c_ctrls.c @@ -24,11 +24,12 @@ #include "s_destroy.h" #include "u_utils.h" -short c_ctrl_d(t_msh *msh) +short c_ctrl_d(char *line, t_msh *msh) { int tmp; c_set_term_raw(0); + free(line); write(STDERR_FILENO, "exit\n", 5); u_eof_fd(msh->fd); m_dump_hist(msh->curr_hist_ptr, msh); diff --git a/src/c_ctrls.h b/src/c_ctrls.h index 337a6f5..714f26b 100644 --- a/src/c_ctrls.h +++ b/src/c_ctrls.h @@ -19,7 +19,7 @@ void c_signal_int(int signo); void c_signal_ign(int signo); short c_ctrl_l(char *line, t_caps *tcaps, t_msh *msh); -short c_ctrl_d(t_msh *msh); +short c_ctrl_d(char *line, t_msh *msh); char *c_ctrl_c(char **line, char *buf, t_msh *msh); #endif diff --git a/src/c_init.c b/src/c_init.c index cea3cce..c5c2dea 100644 --- a/src/c_init.c +++ b/src/c_init.c @@ -72,7 +72,7 @@ static short return (c_ctrl_l(line, tcaps, msh)); else if ((*((unsigned int *)buf)) == CTRL_D && line[0] == '\0') - return (c_ctrl_d(msh)); + return (c_ctrl_d(line, msh)); return (0); } @@ -125,7 +125,7 @@ char static char *c_process_key(char **line, char *buf, t_caps *tcaps, t_msh *msh) { - if (ft_isprint(buf[0])) + if (ft_isprint(buf[0]) && *line != NULL) c_add_char(line, buf, tcaps); else if (((*((unsigned int *)buf)) == UP_K) || ((*((unsigned int *)buf)) == CTRL_P) || |