diff options
Diffstat (limited to 'src/c_utils_next.c')
-rw-r--r-- | src/c_utils_next.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/c_utils_next.c b/src/c_utils_next.c index c57ab1d..27a88db 100644 --- a/src/c_utils_next.c +++ b/src/c_utils_next.c @@ -16,8 +16,18 @@ #include "c_init.h" #include "c_keys.h" +#include "c_utils.h" #include "d_define.h" +short c_set_key(char *buf) +{ + if (((*((unsigned int *)buf)) == UP_K) || + ((*((unsigned int *)buf)) == CTRL_P)) + return (-1); + else + return (1); +} + t_msh *c_get_msh(int mode, t_msh *src) { static t_msh *msh; @@ -29,14 +39,17 @@ t_msh *c_get_msh(int mode, t_msh *src) return (msh); } -void c_key_up_down(char *line[], t_caps *tcaps, char *ptr) +void c_key_up_down(char *line[], t_caps *tcaps, t_msh *msh) { char tmp[ARG_MAX]; + char *ptr; + ptr = c_set_ptr(FALSE, tcaps->key, msh); c_home_key(tcaps->plen, tcaps); ft_substr_s(tmp, ptr, 0, ft_strclen(ptr, '\n')); ft_memdel((void*)&(*line)); tputs(tgetstr("ce", NULL), 1, ft_putchar); *line = ft_strdup(tmp); tcaps->cpos = ft_strlen(*line); + c_redraw_line(*line, tcaps); } |