From 46f8585e463d1617bb120894afaec7f51cf85153 Mon Sep 17 00:00:00 2001 From: Salad Date: Fri, 4 Dec 2020 21:40:49 +0100 Subject: gnu c compiler compatible --- src/c_init.c | 2 -- src/c_keys.c | 2 +- src/c_utils.c | 4 ++-- src/p_redirs.c | 2 +- 4 files changed, 4 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/c_init.c b/src/c_init.c index 5ba6a67..7a1509c 100644 --- a/src/c_init.c +++ b/src/c_init.c @@ -163,10 +163,8 @@ static char *c_process_key(char *buf, t_caps *tcaps, t_msh *msh) { static char *line = NULL; - int i; char *ptr; - i = -1; if (line == NULL) if (!(line = ft_calloc(1, sizeof(char)))) return (NULL); diff --git a/src/c_keys.c b/src/c_keys.c index 3d80327..93bb04b 100644 --- a/src/c_keys.c +++ b/src/c_keys.c @@ -37,7 +37,7 @@ short } else if (i >= 1) { - while (--i >= 0) + while (--i > 0) tputs(tgetstr("le", NULL), 1, ft_putchar); } tcaps->cpos = 0; diff --git a/src/c_utils.c b/src/c_utils.c index a25a35a..fa2eaaf 100644 --- a/src/c_utils.c +++ b/src/c_utils.c @@ -99,7 +99,7 @@ char return (dst); } -static short +static unsigned int c_redraw_next(size_t plen, unsigned int len, t_caps *tcaps) { unsigned int i; @@ -129,7 +129,7 @@ static short return (len); } -short +unsigned int c_redraw_line(char *line, t_caps *tcaps, t_msh *msh) { unsigned int i; diff --git a/src/p_redirs.c b/src/p_redirs.c index b1e6914..8b38f44 100644 --- a/src/p_redirs.c +++ b/src/p_redirs.c @@ -129,7 +129,7 @@ static unsigned char p_get_redir(char word[], fd_rdr[RDR] = (fd_rdr[RDR] == -2 && *(ptr + 2) == '-') ? (-3) : (fd_rdr[1]); pos[0] = (fd_rdr[FD] == STDOUT_FILENO) ? (ptr - word) : ((ptr - word) - ft_intlen(fd_rdr[FD])); - pos[0] = (fd_rdr[FD] == -2) ? ((ptr - word) - 1) : (pos[0]); + pos[0] = (fd_rdr[FD] == -2) ? (size_t)((ptr - word) - 1) : (pos[0]); fd_rdr[FD] = (fd_rdr[FD] == -2) ? (STDOUT_FILENO) : (fd_rdr[FD]); tmp.word = word; tmp.ptr = ptr; -- cgit v1.2.3 From 3feb8a2f8b82a35df1f4c7e6f643bf8eaabb6f60 Mon Sep 17 00:00:00 2001 From: salad Date: Mon, 7 Dec 2020 15:36:45 +0100 Subject: WIP --- src/c_ctrls.c | 2 +- src/c_init.c | 18 +++++++++++------- src/c_utils.c | 3 ++- src/c_utils.h | 2 +- 4 files changed, 15 insertions(+), 10 deletions(-) (limited to 'src') diff --git a/src/c_ctrls.c b/src/c_ctrls.c index f841705..dcb51de 100644 --- a/src/c_ctrls.c +++ b/src/c_ctrls.c @@ -34,7 +34,7 @@ short c_ctrl_l(char *line, t_caps *tcaps, t_msh *msh) { tputs(tgetstr("cl", NULL), 1, ft_putchar); m_prompt_psx(1, msh); - c_redraw_line(line, tcaps, msh); + c_redraw_line(line, tcaps); return (1); } diff --git a/src/c_init.c b/src/c_init.c index 7a1509c..358f145 100644 --- a/src/c_init.c +++ b/src/c_init.c @@ -58,7 +58,7 @@ short } static void - c_add_char(char **line, char *buf, t_caps *tcaps, t_msh *msh) + c_add_char(char **line, char *buf, t_caps *tcaps) { *line = c_insert_char(*line, buf[0], tcaps); tcaps->cpos++; @@ -68,7 +68,7 @@ static void write(STDOUT_FILENO, "\n\r", 2); return ; } - c_redraw_line(*line, tcaps, msh); + c_redraw_line(*line, tcaps); } static short @@ -166,23 +166,26 @@ static char char *ptr; if (line == NULL) - if (!(line = ft_calloc(1, sizeof(char)))) + { + ft_printf("\r\nline is NULL\r\n"); + if (!(line = calloc(1, sizeof(char)))) return (NULL); + } if (ft_isprint(buf[0])) - c_add_char(&line, buf, tcaps, msh); + c_add_char(&line, buf, tcaps); else if (((*((unsigned int *)buf)) == UP_K) || ((*((unsigned int *)buf)) == CTRL_P)) { ptr = c_set_ptr(FALSE, -1, msh); c_key_up_down(&line, tcaps, ptr); - c_redraw_line(line, tcaps, msh); + c_redraw_line(line, tcaps); } else if (((*((unsigned int *)buf)) == DOWN_K) || ((*((unsigned int *)buf)) == CTRL_N)) { ptr = c_set_ptr(FALSE, 1, msh); c_key_up_down(&line, tcaps, ptr); - c_redraw_line(line, tcaps, msh); + c_redraw_line(line, tcaps); } else if ((*((unsigned int *)buf)) == DEL_K) { @@ -192,7 +195,7 @@ static char { return (NULL); } - c_redraw_line(line, tcaps, msh); + c_redraw_line(line, tcaps); } else if ((*((unsigned int *)buf)) == CTRL_C) return (c_ctrl_c(&line, buf, msh)); @@ -224,5 +227,6 @@ short *line = c_process_key(nread, &tcaps, msh); tputs(tgetstr("ve", NULL), 1, ft_putchar); } + ft_printf("[%s]\n", *line); return (1); } diff --git a/src/c_utils.c b/src/c_utils.c index fa2eaaf..73d5a3e 100644 --- a/src/c_utils.c +++ b/src/c_utils.c @@ -35,7 +35,7 @@ char if (line != NULL) { ret = ft_strdup(line); - line[0] = '\0'; + ft_memdel((void*)&line); } tcaps->cpos = 0; tputs(tgetstr("cr", NULL), 1, ft_putchar); @@ -44,6 +44,7 @@ char { write(1, "\n", 1); } + /* ft_printf("[%s][%s]\n", ret, line); */ return (ret); } diff --git a/src/c_utils.h b/src/c_utils.h index f33c961..aad51ea 100644 --- a/src/c_utils.h +++ b/src/c_utils.h @@ -18,6 +18,6 @@ char *c_new_line(char *line, t_caps *tcaps); char *c_insert_char(char *str, char c, t_caps *tcaps); char *c_delchar(char *str, unsigned short cpos); -short c_redraw_line(char *line, t_caps *tcaps, t_msh *msh); +short c_redraw_line(char *line, t_caps *tcaps); #endif -- cgit v1.2.3 From 9bf0201d9a9b01d4f46090ac835a40c3eecc79e7 Mon Sep 17 00:00:00 2001 From: salad Date: Fri, 11 Dec 2020 18:34:08 +0100 Subject: something works --- src/c_utils.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/c_utils.c b/src/c_utils.c index 73d5a3e..2414638 100644 --- a/src/c_utils.c +++ b/src/c_utils.c @@ -35,7 +35,7 @@ char if (line != NULL) { ret = ft_strdup(line); - ft_memdel((void*)&line); + line[0] = '\0'; } tcaps->cpos = 0; tputs(tgetstr("cr", NULL), 1, ft_putchar); -- cgit v1.2.3 From cbde2aa474cc289cc6db127ebcedeb7e5502d7be Mon Sep 17 00:00:00 2001 From: salad Date: Tue, 15 Dec 2020 13:37:41 +0100 Subject: onto something --- src/c_init.c | 57 +++++++++++++++++++++++++++++++++++++++------------------ src/c_utils.c | 32 +++++--------------------------- 2 files changed, 44 insertions(+), 45 deletions(-) (limited to 'src') diff --git a/src/c_init.c b/src/c_init.c index 358f145..b1e9fb2 100644 --- a/src/c_init.c +++ b/src/c_init.c @@ -57,20 +57,6 @@ short return (1); } -static void - c_add_char(char **line, char *buf, t_caps *tcaps) -{ - *line = c_insert_char(*line, buf[0], tcaps); - tcaps->cpos++; - if ((((tcaps->cpos) + tcaps->plen) % - tcaps->ws.ws_col) == 0) - { - write(STDOUT_FILENO, "\n\r", 2); - return ; - } - c_redraw_line(*line, tcaps); -} - static short c_read_cap(char *buf, char *line, t_caps *tcaps, t_msh *msh) { @@ -159,15 +145,51 @@ char *c_set_ptr(t_bool reset, char key, t_msh *msh) return (p); } +static void + c_add_char(char **line, char *buf, t_caps *tcaps) +{ + int i; + size_t j; + size_t len; + char *dst; + + i = -1; + j = 0; + len = (ft_strlen(*line) + 2); + if (!(dst = (char*)malloc((len) * sizeof(char)))) + return ; + while (++i < (int)len) + { + if (i == (int)tcaps->cpos) + dst[i] = buf[0]; + else + { + dst[i] = line[0][j]; + j++; + } + } + dst[len - 1] = '\0'; + ft_memdel((void**)&line[0]); + *line = ft_strdup(dst); + ft_memdel((void**)&dst); + tcaps->cpos++; + if ((((tcaps->cpos) + tcaps->plen) % + tcaps->ws.ws_col) == 0) + { + write(STDOUT_FILENO, "\n\r", 2); + return ; + } + c_redraw_line(*line, tcaps); +} + static char - *c_process_key(char *buf, t_caps *tcaps, t_msh *msh) + *c_process_key(char **line, char *buf, t_caps *tcaps, t_msh *msh) { static char *line = NULL; char *ptr; - if (line == NULL) + if (line == NULL || line == (void*)0x1) { - ft_printf("\r\nline is NULL\r\n"); if (!(line = calloc(1, sizeof(char)))) return (NULL); } @@ -227,6 +249,5 @@ short *line = c_process_key(nread, &tcaps, msh); tputs(tgetstr("ve", NULL), 1, ft_putchar); } - ft_printf("[%s]\n", *line); return (1); } diff --git a/src/c_utils.c b/src/c_utils.c index 2414638..048b845 100644 --- a/src/c_utils.c +++ b/src/c_utils.c @@ -35,7 +35,7 @@ char if (line != NULL) { ret = ft_strdup(line); - line[0] = '\0'; + *line = '\0'; } tcaps->cpos = 0; tputs(tgetstr("cr", NULL), 1, ft_putchar); @@ -44,36 +44,14 @@ char { write(1, "\n", 1); } - /* ft_printf("[%s][%s]\n", ret, line); */ return (ret); } -char - *c_insert_char(char *str, char c, t_caps *tcaps) -{ - int i; - size_t j; - size_t len; - char *dst; +/* char */ +/* *c_insert_char(char *str, char c, t_caps *tcaps) */ +/* { */ - i = -1; - j = 0; - len = (ft_strlen(str) + 2); - if (!(dst = (char*)malloc((len) * sizeof(char)))) - return (NULL); - while (++i < (int)len) - { - if (i == (int)tcaps->cpos) - dst[i] = c; - else - { - dst[i] = str[j]; - j++; - } - } - ft_memdel((void**)&str); - return (dst); -} +/* } */ char *c_delchar(char *str, unsigned short cpos) -- cgit v1.2.3 From 93f307f99188bdba8dc783abb8627d0abb5b871d Mon Sep 17 00:00:00 2001 From: salad Date: Tue, 15 Dec 2020 14:17:51 +0100 Subject: noleak ???????????????? --- src/c_init.c | 28 ++++++++++++++-------------- src/c_utils.c | 11 ++++++----- 2 files changed, 20 insertions(+), 19 deletions(-) (limited to 'src') diff --git a/src/c_init.c b/src/c_init.c index b1e9fb2..7fb530f 100644 --- a/src/c_init.c +++ b/src/c_init.c @@ -185,45 +185,44 @@ static void static char *c_process_key(char **line, char *buf, t_caps *tcaps, t_msh *msh) { - static char *line = NULL; char *ptr; - if (line == NULL || line == (void*)0x1) + if (*line == NULL) { - if (!(line = calloc(1, sizeof(char)))) + if (!(*line = calloc(1, sizeof(char)))) return (NULL); } if (ft_isprint(buf[0])) - c_add_char(&line, buf, tcaps); + c_add_char(line, buf, tcaps); else if (((*((unsigned int *)buf)) == UP_K) || ((*((unsigned int *)buf)) == CTRL_P)) { ptr = c_set_ptr(FALSE, -1, msh); - c_key_up_down(&line, tcaps, ptr); - c_redraw_line(line, tcaps); + c_key_up_down(line, tcaps, ptr); + c_redraw_line(*line, tcaps); } else if (((*((unsigned int *)buf)) == DOWN_K) || ((*((unsigned int *)buf)) == CTRL_N)) { ptr = c_set_ptr(FALSE, 1, msh); - c_key_up_down(&line, tcaps, ptr); - c_redraw_line(line, tcaps); + c_key_up_down(line, tcaps, ptr); + c_redraw_line(*line, tcaps); } else if ((*((unsigned int *)buf)) == DEL_K) { - c_back_slash(&line, tcaps->plen, tcaps); + c_back_slash(line, tcaps->plen, tcaps); if ((((tcaps->cpos) + tcaps->plen) % tcaps->ws.ws_col) == 0) { return (NULL); } - c_redraw_line(line, tcaps); + c_redraw_line(*line, tcaps); } else if ((*((unsigned int *)buf)) == CTRL_C) - return (c_ctrl_c(&line, buf, msh)); + return (c_ctrl_c(line, buf, msh)); else - c_read_cap(buf, line, tcaps, msh); - return ((buf[0] == '\n') ? c_new_line(line, tcaps) : NULL); + c_read_cap(buf, *line, tcaps, msh); + return ((buf[0] == '\n') ? c_new_line(*line, tcaps) : NULL); } short @@ -238,6 +237,7 @@ short ft_bzero(nread, 4); msh->sig = 0; tcaps.plen = (unsigned int)m_plen(msh->ps[psx - 1]); + *line = NULL; if (!(c_get_win_size(&tcaps.ws))) return (-1); while (!(ft_strchr(nread, '\n'))) @@ -246,7 +246,7 @@ short if (!(read(fd, nread, 3))) return (0); else - *line = c_process_key(nread, &tcaps, msh); + c_process_key(line, nread, &tcaps, msh); tputs(tgetstr("ve", NULL), 1, ft_putchar); } return (1); diff --git a/src/c_utils.c b/src/c_utils.c index 048b845..f5e66fe 100644 --- a/src/c_utils.c +++ b/src/c_utils.c @@ -32,11 +32,12 @@ char write(1, "\n", 1); tputs(tgetstr("cr", NULL), 1, ft_putchar); c_set_term_raw(0); - if (line != NULL) - { - ret = ft_strdup(line); - *line = '\0'; - } + (void)line; + /* if (line != NULL) */ + /* { */ + /* ret = ft_strdup(line); */ + /* *line = '\0'; */ + /* } */ tcaps->cpos = 0; tputs(tgetstr("cr", NULL), 1, ft_putchar); if (i < tcaps->nlines && tcaps->nlines != 1) -- cgit v1.2.3 From 2f2a2cf1d163762b9f10e0886fc1399f1bc896fa Mon Sep 17 00:00:00 2001 From: salad Date: Tue, 15 Dec 2020 16:35:22 +0100 Subject: start refactoring shit --- src/c_init.c | 2 +- src/c_utils.c | 8 +------- src/c_utils.h | 2 +- 3 files changed, 3 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/c_init.c b/src/c_init.c index 7fb530f..434f456 100644 --- a/src/c_init.c +++ b/src/c_init.c @@ -222,7 +222,7 @@ static char return (c_ctrl_c(line, buf, msh)); else c_read_cap(buf, *line, tcaps, msh); - return ((buf[0] == '\n') ? c_new_line(*line, tcaps) : NULL); + return ((buf[0] == '\n') ? c_new_line(tcaps) : NULL); } short diff --git a/src/c_utils.c b/src/c_utils.c index f5e66fe..a7769bb 100644 --- a/src/c_utils.c +++ b/src/c_utils.c @@ -22,7 +22,7 @@ #include "s_struct.h" char - *c_new_line(char *line, t_caps *tcaps) + *c_new_line(t_caps *tcaps) { char *ret; size_t i; @@ -32,12 +32,6 @@ char write(1, "\n", 1); tputs(tgetstr("cr", NULL), 1, ft_putchar); c_set_term_raw(0); - (void)line; - /* if (line != NULL) */ - /* { */ - /* ret = ft_strdup(line); */ - /* *line = '\0'; */ - /* } */ tcaps->cpos = 0; tputs(tgetstr("cr", NULL), 1, ft_putchar); if (i < tcaps->nlines && tcaps->nlines != 1) diff --git a/src/c_utils.h b/src/c_utils.h index aad51ea..4cafa3b 100644 --- a/src/c_utils.h +++ b/src/c_utils.h @@ -15,7 +15,7 @@ # include "s_struct.h" -char *c_new_line(char *line, t_caps *tcaps); +char *c_new_line(t_caps *tcaps); char *c_insert_char(char *str, char c, t_caps *tcaps); char *c_delchar(char *str, unsigned short cpos); short c_redraw_line(char *line, t_caps *tcaps); -- cgit v1.2.3 From 45d3ad71ea69e18b27eb3fa202429e0b73a3826b Mon Sep 17 00:00:00 2001 From: salad Date: Tue, 15 Dec 2020 17:02:34 +0100 Subject: norm and fix ctrl_c to fit c_gnl rewrite --- src/c_ctrls.c | 3 +- src/c_init.c | 41 ------------------- src/c_utils.c | 128 +++++++++++++++++++++++++++++++++------------------------- src/c_utils.h | 2 +- 4 files changed, 77 insertions(+), 97 deletions(-) (limited to 'src') diff --git a/src/c_ctrls.c b/src/c_ctrls.c index dcb51de..9431f72 100644 --- a/src/c_ctrls.c +++ b/src/c_ctrls.c @@ -44,7 +44,8 @@ char *c_ctrl_c(char **line, char *buf, t_msh *msh) buf[0] = '\n'; write(1, "\n", 1); ft_memdel((void**)line); - return (ft_strdup("\0")); + *line = ft_strdup("\0"); + return (NULL); } void c_signal_int(int signo) diff --git a/src/c_init.c b/src/c_init.c index 434f456..93f6bb3 100644 --- a/src/c_init.c +++ b/src/c_init.c @@ -145,53 +145,14 @@ char *c_set_ptr(t_bool reset, char key, t_msh *msh) return (p); } -static void - c_add_char(char **line, char *buf, t_caps *tcaps) -{ - int i; - size_t j; - size_t len; - char *dst; - - i = -1; - j = 0; - len = (ft_strlen(*line) + 2); - if (!(dst = (char*)malloc((len) * sizeof(char)))) - return ; - while (++i < (int)len) - { - if (i == (int)tcaps->cpos) - dst[i] = buf[0]; - else - { - dst[i] = line[0][j]; - j++; - } - } - dst[len - 1] = '\0'; - ft_memdel((void**)&line[0]); - *line = ft_strdup(dst); - ft_memdel((void**)&dst); - tcaps->cpos++; - if ((((tcaps->cpos) + tcaps->plen) % - tcaps->ws.ws_col) == 0) - { - write(STDOUT_FILENO, "\n\r", 2); - return ; - } - c_redraw_line(*line, tcaps); -} - static char *c_process_key(char **line, char *buf, t_caps *tcaps, t_msh *msh) { char *ptr; if (*line == NULL) - { if (!(*line = calloc(1, sizeof(char)))) return (NULL); - } if (ft_isprint(buf[0])) c_add_char(line, buf, tcaps); else if (((*((unsigned int *)buf)) == UP_K) || @@ -213,9 +174,7 @@ static char c_back_slash(line, tcaps->plen, tcaps); if ((((tcaps->cpos) + tcaps->plen) % tcaps->ws.ws_col) == 0) - { return (NULL); - } c_redraw_line(*line, tcaps); } else if ((*((unsigned int *)buf)) == CTRL_C) diff --git a/src/c_utils.c b/src/c_utils.c index a7769bb..10013d7 100644 --- a/src/c_utils.c +++ b/src/c_utils.c @@ -21,58 +21,6 @@ #include "m_loop.h" #include "s_struct.h" -char - *c_new_line(t_caps *tcaps) -{ - char *ret; - size_t i; - - i = tcaps->lpos; - ret = NULL; - write(1, "\n", 1); - tputs(tgetstr("cr", NULL), 1, ft_putchar); - c_set_term_raw(0); - tcaps->cpos = 0; - tputs(tgetstr("cr", NULL), 1, ft_putchar); - if (i < tcaps->nlines && tcaps->nlines != 1) - while (i++ < tcaps->nlines) - { - write(1, "\n", 1); - } - return (ret); -} - -/* char */ -/* *c_insert_char(char *str, char c, t_caps *tcaps) */ -/* { */ - -/* } */ - -char - *c_delchar(char *str, unsigned short cpos) -{ - unsigned short i; - unsigned short j; - char *dst; - - j = 0; - i = 0; - if (!(dst = malloc((ft_strlen(str)) * sizeof(char)))) - return (NULL); - cpos -= 1; - while (j < (ft_strlen(str) - 1)) - { - if (i == cpos) - i++; - dst[j] = str[i]; - i++; - j++; - } - ft_memdel((void**)&str); - dst[j] = '\0'; - return (dst); -} - static unsigned int c_redraw_next(size_t plen, unsigned int len, t_caps *tcaps) { @@ -104,12 +52,11 @@ static unsigned int } unsigned int - c_redraw_line(char *line, t_caps *tcaps, t_msh *msh) + c_redraw_line(char *line, t_caps *tcaps) { unsigned int i; unsigned int j; - (void)msh; tcaps->nlines = c_get_line_num(line, tcaps->cpos, tcaps->plen, tcaps); i = 0; @@ -128,3 +75,76 @@ unsigned int c_redraw_next(tcaps->plen, ft_strlen(line), tcaps) : ft_strlen(line)); } + +void + c_add_char(char **line, char *buf, t_caps *tcaps) +{ + int i; + size_t j; + size_t len; + char *dst; + + i = -1; + j = 0; + len = (ft_strlen(*line) + 2); + if (!(dst = (char*)ft_calloc(sizeof(char), len))) + return ; + while (++i < (int)len) + if (i == (int)tcaps->cpos) + dst[i] = buf[0]; + else + dst[i] = line[0][j++]; + ft_memdel((void**)&line[0]); + *line = ft_strdup(dst); + ft_memdel((void**)&dst); + tcaps->cpos++; + if ((((tcaps->cpos) + tcaps->plen) % tcaps->ws.ws_col) == 0) + { + write(STDOUT_FILENO, "\n\r", 2); + return ; + } + c_redraw_line(*line, tcaps); +} + +char + *c_delchar(char *str, unsigned short cpos) +{ + unsigned short i; + unsigned short j; + char *dst; + + j = 0; + i = 0; + if (!(dst = malloc((ft_strlen(str)) * sizeof(char)))) + return (NULL); + cpos -= 1; + while (j < (ft_strlen(str) - 1)) + { + if (i == cpos) + i++; + dst[j] = str[i]; + i++; + j++; + } + ft_memdel((void**)&str); + dst[j] = '\0'; + return (dst); +} + +void + c_new_line(t_caps *tcaps) +{ + size_t i; + + i = tcaps->lpos; + write(1, "\n", 1); + tputs(tgetstr("cr", NULL), 1, ft_putchar); + c_set_term_raw(0); + tcaps->cpos = 0; + tputs(tgetstr("cr", NULL), 1, ft_putchar); + if (i < tcaps->nlines && tcaps->nlines != 1) + while (i++ < tcaps->nlines) + { + write(1, "\n", 1); + } +} diff --git a/src/c_utils.h b/src/c_utils.h index 4cafa3b..549c536 100644 --- a/src/c_utils.h +++ b/src/c_utils.h @@ -15,8 +15,8 @@ # include "s_struct.h" +void c_add_char(char **line, char *buf, t_caps *tcaps); char *c_new_line(t_caps *tcaps); -char *c_insert_char(char *str, char c, t_caps *tcaps); char *c_delchar(char *str, unsigned short cpos); short c_redraw_line(char *line, t_caps *tcaps); -- cgit v1.2.3 From 658e858cee47e54b8e3023f50d4f972a9ac55f0f Mon Sep 17 00:00:00 2001 From: salad Date: Tue, 15 Dec 2020 17:15:58 +0100 Subject: norm tobecontinued --- src/c_ctrls.c | 18 ++++++++++++++++++ src/c_ctrls.h | 1 + src/c_init.c | 18 ++++-------------- 3 files changed, 23 insertions(+), 14 deletions(-) (limited to 'src') diff --git a/src/c_ctrls.c b/src/c_ctrls.c index 9431f72..58b4517 100644 --- a/src/c_ctrls.c +++ b/src/c_ctrls.c @@ -11,6 +11,7 @@ /* ************************************************************************** */ #include +#include #include #include #include @@ -18,6 +19,9 @@ #include "c_ctrls.h" #include "c_utils.h" #include "m_prompt.h" +#include "m_loop.h" +#include "s_destroy.h" +#include "u_utils.h" t_msh *c_get_msh(int mode, t_msh *src) { @@ -30,6 +34,20 @@ t_msh *c_get_msh(int mode, t_msh *src) return (msh); } +short c_ctrl_d(t_msh *msh) +{ + int tmp; + + c_set_term_raw(0); + write(STDERR_FILENO, "exit\n", 5); + u_eof_fd(msh->fd); + m_dump_hist(msh->curr_hist_ptr, msh); + tmp = msh->ret; + s_destroy(msh); + exit(tmp); + return (1); +} + short c_ctrl_l(char *line, t_caps *tcaps, t_msh *msh) { tputs(tgetstr("cl", NULL), 1, ft_putchar); diff --git a/src/c_ctrls.h b/src/c_ctrls.h index 63710a0..d4b932b 100644 --- a/src/c_ctrls.h +++ b/src/c_ctrls.h @@ -20,6 +20,7 @@ void c_signal_int(int signo); void c_signal_ign(int signo); t_msh *c_get_msh(int mode, t_msh *src); short c_ctrl_l(char *line, t_caps *tcaps, t_msh *msh); +short c_ctrl_d(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 93f6bb3..0994e5d 100644 --- a/src/c_init.c +++ b/src/c_init.c @@ -60,8 +60,6 @@ short static short c_read_cap(char *buf, char *line, t_caps *tcaps, t_msh *msh) { - int tmp; - if (((*((unsigned int *)buf)) == LEFT_K) || ((*((unsigned int *)buf)) == CTRL_B)) return (c_key_left(tcaps->plen, tcaps)); @@ -78,18 +76,8 @@ static short return (c_ctrl_l(line, tcaps, msh)); else if ((*((unsigned int *)buf)) == CTRL_D && line[0] == '\0') - { - c_set_term_raw(0); - write(STDERR_FILENO, "exit\n", 5); - u_eof_fd(msh->fd); - m_dump_hist(msh->curr_hist_ptr, msh); - tmp = msh->ret; - s_destroy(msh); - exit(tmp); - return (0); - } - else - return (0); + return (c_ctrl_d(msh)); + return (0); } char *ft_strrbavchr(const char *s, int c, size_t start) @@ -145,6 +133,8 @@ char *c_set_ptr(t_bool reset, char key, t_msh *msh) return (p); } +/* TODO : key_up_down should manage and set the correct key */ + static char *c_process_key(char **line, char *buf, t_caps *tcaps, t_msh *msh) { -- cgit v1.2.3 From 9ae8f935e955a9cc3ce461071e8d5bf9b227b891 Mon Sep 17 00:00:00 2001 From: salad Date: Tue, 15 Dec 2020 17:24:53 +0100 Subject: norm tobecontinued2 --- src/c_init.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/c_init.c b/src/c_init.c index 0994e5d..a8ec6ee 100644 --- a/src/c_init.c +++ b/src/c_init.c @@ -11,12 +11,12 @@ /* ************************************************************************** */ #include -#include #include #include #include #include +#include "b_exit.h" #include "c_ctrls.h" #include "c_init.h" #include "c_keys.h" @@ -24,14 +24,10 @@ #include "c_input.h" #include "c_utils.h" #include "d_define.h" -#include "b_exit.h" +#include "m_prompt.h" #include "s_struct.h" #include "s_com.h" #include "s_line.h" -#include "s_destroy.h" -#include "m_prompt.h" -#include "m_loop.h" -#include "u_utils.h" short c_set_term_raw(char mode) @@ -141,7 +137,7 @@ static char char *ptr; if (*line == NULL) - if (!(*line = calloc(1, sizeof(char)))) + if (!(*line = ft_calloc(1, sizeof(char)))) return (NULL); if (ft_isprint(buf[0])) c_add_char(line, buf, tcaps); -- cgit v1.2.3 From 711bc9edbd9646900fc7e00e7b3457c2070ac31f Mon Sep 17 00:00:00 2001 From: salad Date: Wed, 16 Dec 2020 13:10:11 +0100 Subject: qwe --- src/c_ctrls.c | 12 +----------- src/c_ctrls.h | 1 - src/c_init.c | 22 +++------------------- src/c_keys_next.c | 11 +++++++++++ src/c_keys_next.h | 3 ++- src/c_utils.c | 2 +- src/m_loop.c | 1 + 7 files changed, 19 insertions(+), 33 deletions(-) (limited to 'src') diff --git a/src/c_ctrls.c b/src/c_ctrls.c index 58b4517..3dca13e 100644 --- a/src/c_ctrls.c +++ b/src/c_ctrls.c @@ -17,23 +17,13 @@ #include #include "c_ctrls.h" +#include "c_keys_next.h" #include "c_utils.h" #include "m_prompt.h" #include "m_loop.h" #include "s_destroy.h" #include "u_utils.h" -t_msh *c_get_msh(int mode, t_msh *src) -{ - static t_msh *msh; - - if (mode == 1) - { - msh = src; - } - return (msh); -} - short c_ctrl_d(t_msh *msh) { int tmp; diff --git a/src/c_ctrls.h b/src/c_ctrls.h index d4b932b..337a6f5 100644 --- a/src/c_ctrls.h +++ b/src/c_ctrls.h @@ -18,7 +18,6 @@ void c_signal_int(int signo); void c_signal_ign(int signo); -t_msh *c_get_msh(int mode, t_msh *src); short c_ctrl_l(char *line, t_caps *tcaps, t_msh *msh); short c_ctrl_d(t_msh *msh); char *c_ctrl_c(char **line, char *buf, t_msh *msh); diff --git a/src/c_init.c b/src/c_init.c index a8ec6ee..472ee75 100644 --- a/src/c_init.c +++ b/src/c_init.c @@ -76,21 +76,8 @@ static short return (0); } -char *ft_strrbavchr(const char *s, int c, size_t start) -{ - size_t i; - - i = ft_strlen(s) - start; - while (s[i] != c) - { - if (i == 0) - return (NULL); - i--; - } - return ((char*)&s[i]); -} - -char *c_set_ptr(t_bool reset, char key, t_msh *msh) +char + *c_set_ptr(t_bool reset, char key, t_msh *msh) { static char *p = NULL; static char *context = NULL; @@ -109,7 +96,7 @@ char *c_set_ptr(t_bool reset, char key, t_msh *msh) context = msh->prev_hist; } if (key == 1 && context == msh->prev_hist - && p == ft_strrbavchr(msh->prev_hist, '\n', 2) + 1) + && p == ft_strrnchr(msh->prev_hist, '\n', 2) + 1) { p = msh->curr_hist_ptr; context = msh->curr_hist_ptr; @@ -136,9 +123,6 @@ static char { char *ptr; - if (*line == NULL) - if (!(*line = ft_calloc(1, sizeof(char)))) - return (NULL); if (ft_isprint(buf[0])) c_add_char(line, buf, tcaps); else if (((*((unsigned int *)buf)) == UP_K) || diff --git a/src/c_keys_next.c b/src/c_keys_next.c index ec063d3..58c8946 100644 --- a/src/c_keys_next.c +++ b/src/c_keys_next.c @@ -18,6 +18,17 @@ #include "c_keys.h" #include "d_define.h" +t_msh *c_get_msh(int mode, t_msh *src) +{ + static t_msh *msh; + + if (mode == 1) + { + msh = src; + } + return (msh); +} + void c_key_up_down(char *line[], t_caps *tcaps, char *ptr) { char tmp[ARG_MAX]; diff --git a/src/c_keys_next.h b/src/c_keys_next.h index fa79d85..1149f38 100644 --- a/src/c_keys_next.h +++ b/src/c_keys_next.h @@ -13,8 +13,9 @@ #ifndef C_KEYS_NEXT_H # define C_KEYS_NEXT_H -#include "c_init.h" +# include "c_init.h" void c_key_up_down(char *line[], t_caps *tcaps, char *ptr); +t_msh *c_get_msh(int mode, t_msh *src); #endif diff --git a/src/c_utils.c b/src/c_utils.c index 10013d7..1fff5a1 100644 --- a/src/c_utils.c +++ b/src/c_utils.c @@ -86,7 +86,7 @@ void i = -1; j = 0; - len = (ft_strlen(*line) + 2); + len = (*line != NULL) ? (ft_strlen(*line) + 2) : 2; if (!(dst = (char*)ft_calloc(sizeof(char), len))) return ; while (++i < (int)len) diff --git a/src/m_loop.c b/src/m_loop.c index c7ca9cc..fd6df37 100644 --- a/src/m_loop.c +++ b/src/m_loop.c @@ -22,6 +22,7 @@ #endif #include "c_init.h" +#include "c_keys_next.h" #include "c_ctrls.h" #include "d_define.h" #include "e_line.h" -- cgit v1.2.3 From e3958afc911de2c628aa336893123ac871da3817 Mon Sep 17 00:00:00 2001 From: salad Date: Wed, 16 Dec 2020 13:13:50 +0100 Subject: c_keys_next is now c_utils_next --- src/c_ctrls.c | 2 +- src/c_init.c | 2 +- src/c_keys_next.c | 42 ------------------------------------------ src/c_keys_next.h | 21 --------------------- src/c_utils_next.c | 42 ++++++++++++++++++++++++++++++++++++++++++ src/c_utils_next.h | 21 +++++++++++++++++++++ src/m_loop.c | 2 +- 7 files changed, 66 insertions(+), 66 deletions(-) delete mode 100644 src/c_keys_next.c delete mode 100644 src/c_keys_next.h create mode 100644 src/c_utils_next.c create mode 100644 src/c_utils_next.h (limited to 'src') diff --git a/src/c_ctrls.c b/src/c_ctrls.c index 3dca13e..0bea322 100644 --- a/src/c_ctrls.c +++ b/src/c_ctrls.c @@ -17,7 +17,7 @@ #include #include "c_ctrls.h" -#include "c_keys_next.h" +#include "c_utils_next.h" #include "c_utils.h" #include "m_prompt.h" #include "m_loop.h" diff --git a/src/c_init.c b/src/c_init.c index 472ee75..0001660 100644 --- a/src/c_init.c +++ b/src/c_init.c @@ -20,7 +20,7 @@ #include "c_ctrls.h" #include "c_init.h" #include "c_keys.h" -#include "c_keys_next.h" +#include "c_utils_next.h" #include "c_input.h" #include "c_utils.h" #include "d_define.h" diff --git a/src/c_keys_next.c b/src/c_keys_next.c deleted file mode 100644 index 58c8946..0000000 --- a/src/c_keys_next.c +++ /dev/null @@ -1,42 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* c_keys_next.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rbousset +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/14 17:19:27 by rbousset #+# #+# */ -/* Updated: 2020/02/14 17:19:29 by rbousset ### ########lyon.fr */ -/* */ -/* ************************************************************************** */ - -#include -#include -#include - -#include "c_init.h" -#include "c_keys.h" -#include "d_define.h" - -t_msh *c_get_msh(int mode, t_msh *src) -{ - static t_msh *msh; - - if (mode == 1) - { - msh = src; - } - return (msh); -} - -void c_key_up_down(char *line[], t_caps *tcaps, char *ptr) -{ - char tmp[ARG_MAX]; - - 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); -} diff --git a/src/c_keys_next.h b/src/c_keys_next.h deleted file mode 100644 index 1149f38..0000000 --- a/src/c_keys_next.h +++ /dev/null @@ -1,21 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* c_keys_next.h :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rbousset +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/14 17:19:27 by rbousset #+# #+# */ -/* Updated: 2020/02/14 17:19:29 by rbousset ### ########lyon.fr */ -/* */ -/* ************************************************************************** */ - -#ifndef C_KEYS_NEXT_H -# define C_KEYS_NEXT_H - -# include "c_init.h" - -void c_key_up_down(char *line[], t_caps *tcaps, char *ptr); -t_msh *c_get_msh(int mode, t_msh *src); - -#endif diff --git a/src/c_utils_next.c b/src/c_utils_next.c new file mode 100644 index 0000000..c57ab1d --- /dev/null +++ b/src/c_utils_next.c @@ -0,0 +1,42 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* c_utils_next.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: rbousset +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/02/14 17:19:27 by rbousset #+# #+# */ +/* Updated: 2020/02/14 17:19:29 by rbousset ### ########lyon.fr */ +/* */ +/* ************************************************************************** */ + +#include +#include +#include + +#include "c_init.h" +#include "c_keys.h" +#include "d_define.h" + +t_msh *c_get_msh(int mode, t_msh *src) +{ + static t_msh *msh; + + if (mode == 1) + { + msh = src; + } + return (msh); +} + +void c_key_up_down(char *line[], t_caps *tcaps, char *ptr) +{ + char tmp[ARG_MAX]; + + 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); +} diff --git a/src/c_utils_next.h b/src/c_utils_next.h new file mode 100644 index 0000000..60681d6 --- /dev/null +++ b/src/c_utils_next.h @@ -0,0 +1,21 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* c_utils_next.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: rbousset +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/02/14 17:19:27 by rbousset #+# #+# */ +/* Updated: 2020/02/14 17:19:29 by rbousset ### ########lyon.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef C_UTILS_NEXT_H +# define C_UTILS_NEXT_H + +# include "c_init.h" + +void c_key_up_down(char *line[], t_caps *tcaps, char *ptr); +t_msh *c_get_msh(int mode, t_msh *src); + +#endif diff --git a/src/m_loop.c b/src/m_loop.c index fd6df37..017c5af 100644 --- a/src/m_loop.c +++ b/src/m_loop.c @@ -22,7 +22,7 @@ #endif #include "c_init.h" -#include "c_keys_next.h" +#include "c_utils_next.h" #include "c_ctrls.h" #include "d_define.h" #include "e_line.h" -- cgit v1.2.3 From b96c18b5a12dc3f581ee0050aa48b2b3d7df26ec Mon Sep 17 00:00:00 2001 From: salad Date: Wed, 16 Dec 2020 13:46:31 +0100 Subject: check for leaks.......again --- src/c_init.c | 20 ++++++-------------- src/c_init.h | 1 + src/c_utils.c | 2 +- src/c_utils_next.c | 15 ++++++++++++++- src/c_utils_next.h | 3 ++- 5 files changed, 24 insertions(+), 17 deletions(-) (limited to 'src') diff --git a/src/c_init.c b/src/c_init.c index 0001660..59cb5fa 100644 --- a/src/c_init.c +++ b/src/c_init.c @@ -116,28 +116,18 @@ char return (p); } -/* TODO : key_up_down should manage and set the correct key */ - static char *c_process_key(char **line, char *buf, t_caps *tcaps, t_msh *msh) { - char *ptr; - if (ft_isprint(buf[0])) c_add_char(line, buf, tcaps); else if (((*((unsigned int *)buf)) == UP_K) || - ((*((unsigned int *)buf)) == CTRL_P)) - { - ptr = c_set_ptr(FALSE, -1, msh); - c_key_up_down(line, tcaps, ptr); - c_redraw_line(*line, tcaps); - } - else if (((*((unsigned int *)buf)) == DOWN_K) || + ((*((unsigned int *)buf)) == CTRL_P) || + ((*((unsigned int *)buf)) == DOWN_K) || ((*((unsigned int *)buf)) == CTRL_N)) { - ptr = c_set_ptr(FALSE, 1, msh); - c_key_up_down(line, tcaps, ptr); - c_redraw_line(*line, tcaps); + tcaps->key = c_set_key(buf); + c_key_up_down(line, tcaps, msh); } else if ((*((unsigned int *)buf)) == DEL_K) { @@ -167,6 +157,8 @@ short msh->sig = 0; tcaps.plen = (unsigned int)m_plen(msh->ps[psx - 1]); *line = NULL; + if (!(*line = ft_calloc(sizeof(char), 1))) + return (-1); if (!(c_get_win_size(&tcaps.ws))) return (-1); while (!(ft_strchr(nread, '\n'))) diff --git a/src/c_init.h b/src/c_init.h index dae8513..a9e7605 100644 --- a/src/c_init.h +++ b/src/c_init.h @@ -47,6 +47,7 @@ typedef struct s_caps unsigned int nlines; unsigned short psx; unsigned short plen; + short key; } t_caps; char *c_set_ptr(t_bool reset, char key, t_msh *msh); diff --git a/src/c_utils.c b/src/c_utils.c index 1fff5a1..10013d7 100644 --- a/src/c_utils.c +++ b/src/c_utils.c @@ -86,7 +86,7 @@ void i = -1; j = 0; - len = (*line != NULL) ? (ft_strlen(*line) + 2) : 2; + len = (ft_strlen(*line) + 2); if (!(dst = (char*)ft_calloc(sizeof(char), len))) return ; while (++i < (int)len) 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); } diff --git a/src/c_utils_next.h b/src/c_utils_next.h index 60681d6..1cf0132 100644 --- a/src/c_utils_next.h +++ b/src/c_utils_next.h @@ -15,7 +15,8 @@ # include "c_init.h" -void c_key_up_down(char *line[], t_caps *tcaps, char *ptr); +short c_set_key(char *buf); +void c_key_up_down(char *line[], t_caps *tcaps, t_msh *msh); t_msh *c_get_msh(int mode, t_msh *src); #endif -- cgit v1.2.3 From 248372704dff81b91153d9e43a4b29a08551f99f Mon Sep 17 00:00:00 2001 From: salad Date: Wed, 16 Dec 2020 19:41:11 +0100 Subject: ormnshitz --- src/c_init.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/c_init.c b/src/c_init.c index 59cb5fa..4bfcf26 100644 --- a/src/c_init.c +++ b/src/c_init.c @@ -157,8 +157,9 @@ short msh->sig = 0; tcaps.plen = (unsigned int)m_plen(msh->ps[psx - 1]); *line = NULL; - if (!(*line = ft_calloc(sizeof(char), 1))) - return (-1); + if (*line == NULL) + if (!(*line = ft_calloc(sizeof(char), 1))) + return (-1); if (!(c_get_win_size(&tcaps.ws))) return (-1); while (!(ft_strchr(nread, '\n'))) -- cgit v1.2.3 From d058b05e6f31a426550e2f74f4d6f22e68b1537d Mon Sep 17 00:00:00 2001 From: salad Date: Wed, 16 Dec 2020 19:42:10 +0100 Subject: fuck --- src/c_init.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/c_init.c b/src/c_init.c index 4bfcf26..1659f3f 100644 --- a/src/c_init.c +++ b/src/c_init.c @@ -122,8 +122,8 @@ static char if (ft_isprint(buf[0])) c_add_char(line, buf, tcaps); else if (((*((unsigned int *)buf)) == UP_K) || - ((*((unsigned int *)buf)) == CTRL_P) || - ((*((unsigned int *)buf)) == DOWN_K) || + ((*((unsigned int *)buf)) == CTRL_P) || + ((*((unsigned int *)buf)) == DOWN_K) || ((*((unsigned int *)buf)) == CTRL_N)) { tcaps->key = c_set_key(buf); -- cgit v1.2.3 From f6cc429d6152f330de5d4aac36fea9810f9f47de Mon Sep 17 00:00:00 2001 From: salad Date: Fri, 18 Dec 2020 14:36:31 +0100 Subject: mergethis --- src/c_ctrls.c | 1 - src/c_init.c | 6 +++--- 2 files changed, 3 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/c_ctrls.c b/src/c_ctrls.c index 0bea322..af0528e 100644 --- a/src/c_ctrls.c +++ b/src/c_ctrls.c @@ -66,7 +66,6 @@ void c_signal_int(int signo) write(1, "\n", 1); msh = c_get_msh(0, msh); msh->sig = 130; - ioctl(1, TIOCSTI, "\002"); } void c_signal_ign(int signo) diff --git a/src/c_init.c b/src/c_init.c index 1659f3f..c3c6421 100644 --- a/src/c_init.c +++ b/src/c_init.c @@ -157,9 +157,9 @@ short msh->sig = 0; tcaps.plen = (unsigned int)m_plen(msh->ps[psx - 1]); *line = NULL; - if (*line == NULL) - if (!(*line = ft_calloc(sizeof(char), 1))) - return (-1); + if (!(*line = ft_calloc(sizeof(char), 1))) + return (-1); + ft_printf("[%p]\n\r", (void*)*line); if (!(c_get_win_size(&tcaps.ws))) return (-1); while (!(ft_strchr(nread, '\n'))) -- cgit v1.2.3 From 2cdac53cbc0081b553b704c52164b08e37f8b5e1 Mon Sep 17 00:00:00 2001 From: salad Date: Fri, 18 Dec 2020 14:37:02 +0100 Subject: nomergethislol --- src/c_init.c | 1 - 1 file changed, 1 deletion(-) (limited to 'src') diff --git a/src/c_init.c b/src/c_init.c index c3c6421..84098ec 100644 --- a/src/c_init.c +++ b/src/c_init.c @@ -159,7 +159,6 @@ short *line = NULL; if (!(*line = ft_calloc(sizeof(char), 1))) return (-1); - ft_printf("[%p]\n\r", (void*)*line); if (!(c_get_win_size(&tcaps.ws))) return (-1); while (!(ft_strchr(nread, '\n'))) -- cgit v1.2.3 From 40676b37c8320ae708ec4303af0ea2a649ec74d7 Mon Sep 17 00:00:00 2001 From: salad Date: Fri, 18 Dec 2020 15:28:28 +0100 Subject: spammingnormcommits --- src/b_alias_register.c | 8 ++++---- src/c_input.c | 3 +++ src/m_loop.c | 2 -- src/m_minishell.c | 5 ----- src/s_init_next.c | 2 +- 5 files changed, 8 insertions(+), 12 deletions(-) (limited to 'src') diff --git a/src/b_alias_register.c b/src/b_alias_register.c index 8f75e36..0170a59 100644 --- a/src/b_alias_register.c +++ b/src/b_alias_register.c @@ -31,14 +31,16 @@ static void b_cpy_alias(char name[], char *ptr, char value[]) rptr++; tmp = *(rptr + ft_strlen(name)); *(rptr + ft_strlen(name)) = C_NUL; - if (ft_strncmp(rptr, name, ft_strlen(name) + 1) == 0) { + if (ft_strncmp(rptr, name, ft_strlen(name) + 1) == 0) + { *(rptr + ft_strlen(name)) = tmp; ft_strlcpy(value, ptr, ARG_MAX); ft_memmove(value + (rptr - ptr) + 1, value + (rptr - ptr), ft_strlen(value + (rptr - ptr)) + 1); *(value + (rptr - ptr)) = C_BACKS; } - else { + else + { *(rptr + ft_strlen(name)) = tmp; ft_strlcpy(value, ptr, ARG_MAX); } @@ -63,5 +65,3 @@ void b_register_arg(const char arg[], t_msh *msh) u_set_alias_value(name, value, msh); } } - - diff --git a/src/c_input.c b/src/c_input.c index 9023f37..141538d 100644 --- a/src/c_input.c +++ b/src/c_input.c @@ -14,6 +14,7 @@ #include #include #include +#include #include "c_ctrls.h" #include "c_init.h" @@ -28,6 +29,8 @@ short { char *term; + signal(SIGINT, c_signal_int); + signal(SIGQUIT, c_signal_ign); if (tcaps) { term = getenv("TERM"); diff --git a/src/m_loop.c b/src/m_loop.c index 017c5af..e493c7d 100644 --- a/src/m_loop.c +++ b/src/m_loop.c @@ -144,8 +144,6 @@ unsigned char m_loop(int fd, t_msh *msh) msh->curr_hist_ptr = hist; c_get_msh(1, msh); c_set_ptr(TRUE, 0, msh); - signal(SIGINT, c_signal_int); - signal(SIGQUIT, c_signal_ign); while (gnl > 0) { gnl = (fd == STDIN_FILENO) ? c_gnl(fd, &line, 1, msh) : diff --git a/src/m_minishell.c b/src/m_minishell.c index e5ec69e..987cfc0 100644 --- a/src/m_minishell.c +++ b/src/m_minishell.c @@ -32,11 +32,6 @@ int main(int argc, char *const argv[], char *const envp[]) ft_dprintf(STDERR_FILENO, "%s\n", strerror(errno)); return (M_RET_ALLOC); } - /* if (!isatty(STDIN_FILENO) || !isatty(STDOUT_FILENO)) */ - /* { */ - /* ft_dprintf(STDERR_FILENO, "minishell: innapropriate ioctl device.\n"); */ - /* exit(1); */ - /* } */ ret = m_argv(argc, argv, msh); s_destroy(msh); return (ret); diff --git a/src/s_init_next.c b/src/s_init_next.c index d506d9d..9a98e9a 100644 --- a/src/s_init_next.c +++ b/src/s_init_next.c @@ -103,7 +103,7 @@ char **s_dupenv(char *const envp[]) i++; } if (s_cpy_path(ptr, nenvp, &i) == 1) - return (s_dupenv_del(nenvp, i)); + return (s_dupenv_del(nenvp, i)); nenvp[i] = NULL; return (nenvp); } -- cgit v1.2.3 From 62a1c19e2095a8dd0fb66f4e29dce37eae0c5d69 Mon Sep 17 00:00:00 2001 From: JozanLeClerc Date: Fri, 18 Dec 2020 16:00:22 +0100 Subject: Push --- src/b_exit.c | 1 + src/c_init.c | 28 +++++++++++++++++----------- src/m_argv.c | 4 ++++ src/m_loop.c | 2 -- 4 files changed, 22 insertions(+), 13 deletions(-) (limited to 'src') diff --git a/src/b_exit.c b/src/b_exit.c index 4f395cf..b9b17ea 100644 --- a/src/b_exit.c +++ b/src/b_exit.c @@ -25,6 +25,7 @@ unsigned char b_exit(char *args[], t_msh *msh) unsigned char ret; const unsigned long argc = u_builtins_get_argc((const char**)args); + write(STDERR_FILENO, "exit\n", 5 * sizeof(char)); if (argc > 1) { f_fail_too_many_args("exit", msh); diff --git a/src/c_init.c b/src/c_init.c index 84098ec..b2fd3d3 100644 --- a/src/c_init.c +++ b/src/c_init.c @@ -76,6 +76,22 @@ static short return (0); } +static void + c_set_ptr_norme(char key, t_bool *sw, char **p, char **context) +{ + if ((key == -1 && *p - *context != 0) || key == 1) + { + *p += (key == -1) ? (2 * key) : (0); + while (*sw == FALSE && ((key == -1 && *p - *context != 0) || key == 1) + && **p != C_LF && **p != C_NUL) + *p += key; + if (*sw == TRUE) + *sw = FALSE; + if (*p - *context != 0 && **p != C_NUL) + *p += 1; + } +} + char *c_set_ptr(t_bool reset, char key, t_msh *msh) { @@ -102,17 +118,7 @@ char context = msh->curr_hist_ptr; sw = TRUE; } - if ((key == -1 && p - context != 0) || key == 1) - { - p += (key == -1) ? (2 * key) : (0); - while (sw == FALSE && ((key == -1 && p - context != 0) || key == 1) - && *p != C_LF && *p != C_NUL) - p += key; - if (sw == TRUE) - sw = FALSE; - if (p - context != 0 && *p != C_NUL) - p += 1; - } + c_set_ptr_norme(key, &sw, &p, &context); return (p); } diff --git a/src/m_argv.c b/src/m_argv.c index 525439b..859fa72 100644 --- a/src/m_argv.c +++ b/src/m_argv.c @@ -16,6 +16,8 @@ #include #include +#include "c_init.h" +#include "c_utils_next.h" #include "f_fail.h" #include "d_define.h" #include "m_comm.h" @@ -69,6 +71,8 @@ unsigned char m_argv(int argc, char *const argv[], t_msh *msh) msh->prev_hist = m_get_prev_hist(msh); msh->ret = m_source_mshrc(msh); msh->fd = STDIN_FILENO; + c_get_msh(1, msh); + c_set_ptr(TRUE, 0, msh); msh->ret = m_loop(STDIN_FILENO, msh); } else if (argc > 1 && ft_strncmp(*(argv + 1), M_OPT_COMMAND, 3) == 0) diff --git a/src/m_loop.c b/src/m_loop.c index e493c7d..6ec2a3b 100644 --- a/src/m_loop.c +++ b/src/m_loop.c @@ -142,8 +142,6 @@ unsigned char m_loop(int fd, t_msh *msh) gnl = 1; msh->curr_hist_ptr = hist; - c_get_msh(1, msh); - c_set_ptr(TRUE, 0, msh); while (gnl > 0) { gnl = (fd == STDIN_FILENO) ? c_gnl(fd, &line, 1, msh) : -- cgit v1.2.3