commit 6d306ad60a3ed0d9e721a43fb121804974a41b6c
Author:     Tom Schwindl <schwi...@posteo.de>
AuthorDate: Wed Jan 11 09:05:39 2023 +0100
Commit:     Jan Klemkow <j.klem...@wemelug.de>
CommitDate: Tue Jan 24 16:59:40 2023 +0100

    replace "magic"-numbers with symbolic constants

diff --git a/slackline.c b/slackline.c
index f23671e..4573899 100644
--- a/slackline.c
+++ b/slackline.c
@@ -158,20 +158,20 @@ static void
 sl_default(struct slackline *sl, int key)
 {
        switch (key) {
-       case 27:        /* Escape */
+       case ESC_KEY:
                sl->esc = ESC;
                break;
-       case 21:
+       case CTRL_U:
                sl_reset(sl);
                break;
-       case 23: /* ctrl+w -- erase previous word */
+       case CTRL_W:
                while (sl->rcur != 0 && isspace((unsigned char) *(sl->ptr-1)))
                        sl_backspace(sl);
                while (sl->rcur != 0 && !isspace((unsigned char) *(sl->ptr-1)))
                        sl_backspace(sl);
                break;
-       case 127:       /* backspace */
-       case 8:         /* backspace */
+       case BACKSPACE:
+       case VT_BACKSPACE:
                sl_backspace(sl);
                break;
        default:
diff --git a/slackline_emacs.c b/slackline_emacs.c
index bd51042..fc58bd2 100644
--- a/slackline_emacs.c
+++ b/slackline_emacs.c
@@ -11,16 +11,16 @@ sl_emacs(struct slackline *sl, int key)
        char tmp;
 
        switch (key) {
-       case 27:        /* Escape */
+       case ESC_KEY:
                sl->esc = ESC;
                break;
-       case 1: /* ctrl+a -- start of line */
+       case CTRL_A:
                sl_move(sl, HOME);
                break;
-       case 2: /* ctrl+b -- previous char */
+       case CTRL_B:
                sl_move(sl, LEFT);
                break;
-       case 4: /* ctrl+d -- delete char in front of the cursor or exit */
+       case CTRL_D:
                if (sl->rcur < sl->rlen) {
                        sl_move(sl, RIGHT);
                        sl_backspace(sl);
@@ -28,19 +28,19 @@ sl_emacs(struct slackline *sl, int key)
                        exit(EXIT_SUCCESS);
                }
                break;
-       case 5: /* ctrl+e -- end of line */
+       case CTRL_E:
                sl_move(sl, END);
                break;
-       case 6: /* ctrl+f -- next char */
+       case CTRL_F:
                sl_move(sl, RIGHT);
                break;
-       case 11: /* ctrl+k -- delete line from cursor to end */
+       case CTRL_K:
                for (int i = sl->rlen - sl->rcur; i > 0; --i) {
                        sl_move(sl, RIGHT);
                        sl_backspace(sl);
                }
                break;
-       case 20: /* ctrl+t -- swap last two chars */
+       case CTRL_T:
                if (sl->rcur >= 2) {
                        tmp = *sl_postoptr(sl, sl->rcur-1);
                        sl->buf[sl->rcur-1] = *sl_postoptr(sl, sl->rcur-2);
diff --git a/slackline_internals.h b/slackline_internals.h
index aa22a4e..2f419e0 100644
--- a/slackline_internals.h
+++ b/slackline_internals.h
@@ -5,6 +5,23 @@
 
 enum direction {LEFT, RIGHT, HOME, END};
 
+enum {
+       CTRL_A = 1,
+       CTRL_B = 2,
+       CTRL_D = 4,
+       CTRL_E = 5,
+       CTRL_F = 6,
+       CTRL_K = 11,
+       CTRL_U = 21,
+       CTRL_T = 20,
+       CTRL_W = 23,
+
+       BACKSPACE = 127,
+       VT_BACKSPACE = 8,
+
+       ESC_KEY = 27
+};
+
 size_t sl_postobyte(struct slackline *sl, size_t pos);
 char *sl_postoptr(struct slackline *sl, size_t pos);
 void sl_backspace(struct slackline *sl);

Reply via email to