summaryrefslogtreecommitdiffstats
path: root/src/c_utils_next.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/c_utils_next.c')
-rw-r--r--src/c_utils_next.c15
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);
}