commit ee6f9344e7e5e4189800a24f2baae778b9c56a72
Author: rani <clagv.randomgames@gmail.com>
Date: Mon Feb 06 19:13:01 2023 +0000
diff --git a/include/io.h b/include/io.h
index 81840ce..6a63e81 100644
--- a/include/io.h
+++ b/include/io.h
@@ -7212 +7214 @@ enum colors {
};
enum keys {
- CTRL_B = 2,
- CTRL_C = 3,
- CTRL_F = 6,
- CTRL_N = 14,
- CTRL_P = 16,
- CTRL_Z = 26,
+ CTRL_B = 2,
+ CTRL_C = 3,
+ CTRL_F = 6,
+ CTRL_N = 14,
+ CTRL_P = 16,
+ CTRL_Z = 26,
+ KEY_ESC = 27,
+ KEY_DEL = 127,
};
diff --git a/src/io.c b/src/io.c
index 237bfef..e57d34e 100644
--- a/src/io.c
+++ b/src/io.c
@@ -2817 +2817 @@ char * prompt(char * t, char ** args) {
delwin(w);
return args[cursor - 1];
case 'q':
- case 27:
+ case KEY_ESC:
goto done;
default:
break;
@@ -30514 +30514 @@ char * curses_getline(char * p) {
char * inp = malloc(128);
size_t l = 0;
- char c;
+ int c;
while ((c = getch()) != '\n') {
if ((l + 1) % 127 == 0) {
// add 1 byte to prevent buffer overrun on deletion
inp = realloc(inp, l + 129);
}
- if (c == 127) {
+ if (c == KEY_DEL || c == KEY_BACKSPACE) {
if (l > 0) l--;
} else if (isprint(c)) {
// do not bother with non-printable characters
@@ -32910 +32910 @@ char * curses_getline(char * p) {
for (size_t i = l - COLS + plen + 1; i < l; i++) {
addch(inp[i]);
}
- } else if ((unsigned)x != plen && c == 127) {
+ } else if ((unsigned)x != plen && (c == KEY_DEL || c == KEY_BACKSPACE)) {
mvaddch(y, x - 1, ' ');
move(y, x - 1);
- } else if (c != 127) {
+ } else if (c != KEY_DEL && c != KEY_BACKSPACE) {
addch(c);
}