summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsalad <fmoenne-@student.le-101.fr>2020-10-06 17:10:33 +0200
committersalad <fmoenne-@student.le-101.fr>2020-10-06 17:10:33 +0200
commitf2c93fb7f2e5b82388dd8d45d63f380906fed04e (patch)
treefb3ebc675f184cea32d2e97c2215675f5cdd6f3c
parentsome changes, need MORE (diff)
download42-minishell-f2c93fb7f2e5b82388dd8d45d63f380906fed04e.tar.gz
42-minishell-f2c93fb7f2e5b82388dd8d45d63f380906fed04e.tar.bz2
42-minishell-f2c93fb7f2e5b82388dd8d45d63f380906fed04e.tar.xz
42-minishell-f2c93fb7f2e5b82388dd8d45d63f380906fed04e.tar.zst
42-minishell-f2c93fb7f2e5b82388dd8d45d63f380906fed04e.zip
C-b + C-f
Diffstat (limited to '')
-rw-r--r--src/c_init.c4
-rw-r--r--src/c_init.h2
-rw-r--r--src/c_input.c2
-rw-r--r--src/c_utils.c4
4 files changed, 8 insertions, 4 deletions
diff --git a/src/c_init.c b/src/c_init.c
index de10dfa..745fad9 100644
--- a/src/c_init.c
+++ b/src/c_init.c
@@ -65,9 +65,9 @@ c_read_cap(char *buf,
t_caps *tcaps,
t_msh *msh)
{
- if ((*((unsigned int *)buf)) == LEFT_K)
+ if (((*((unsigned int *)buf)) == LEFT_K) || ((*((unsigned int *)buf)) == CTRL_B))
return (c_key_left(ft_strlen(msh->ps[tcaps->psx]), tcaps));
- else if ((*((unsigned int *)buf)) == RIGHT_K)
+ else if (((*((unsigned int *)buf)) == RIGHT_K) || ((*((unsigned int *)buf)) == CTRL_F))
return (c_key_right(ft_strlen(line), ft_strlen(msh->ps[tcaps->psx]), tcaps));
else if ((*((unsigned int *)buf)) == HOME_K)
return (c_home_key(tcaps));
diff --git a/src/c_init.h b/src/c_init.h
index 5dd4a13..6317871 100644
--- a/src/c_init.h
+++ b/src/c_init.h
@@ -25,6 +25,8 @@
# define DEL_K 0x7f
# define RET_K 0x0d
+# define CTRL_F 0x06
+# define CTRL_B 0x02
# define CTRL_C 0x03
# define CTRL_L 0x0c
diff --git a/src/c_input.c b/src/c_input.c
index 19d2ef3..7eb8084 100644
--- a/src/c_input.c
+++ b/src/c_input.c
@@ -68,7 +68,7 @@ c_get_line_num(char *line,
while (it < len)
{
it += (it == 0) ? (tcaps->ws.ws_col - plen) : tcaps->ws.ws_col;
- tcaps->lpos += (it < cpos) ? 1 : 0;
+ tcaps->lpos += (it <= (cpos)) ? 1 : 0;
line_num++;
}
return (line_num);
diff --git a/src/c_utils.c b/src/c_utils.c
index a62e3f9..23d5007 100644
--- a/src/c_utils.c
+++ b/src/c_utils.c
@@ -112,6 +112,7 @@ static int16_t
uint32_t i;
uint32_t j;
+ /* ft_printf("%u%u", tcaps->nlines, tcaps->lpos); */
i = (tcaps->nlines == tcaps->lpos) ? 0 : tcaps->ws.ws_col * (tcaps->lpos - 1);
j = tcaps->nlines;
if (tcaps->nlines != tcaps->lpos)
@@ -147,10 +148,11 @@ int16_t
i = 0;
j = tcaps->lpos;
tputs(tgetstr("cr", NULL), 1, ft_putchar);
- if ((((tcaps->cpos - 1) + ft_strlen(msh->ps[tcaps->psx])) %
+ if ((((tcaps->cpos + 1) + ft_strlen(msh->ps[tcaps->psx])) %
tcaps->ws.ws_col) == 0)
{
tputs(tgetstr("sf", NULL), 1, ft_putchar);
+ return (1);
}
while (--j > 0)
{