From c1b84bc7c1429203fc9a43dd5bb7063ad113fbd8 Mon Sep 17 00:00:00 2001 From: erikkaashoek Date: Fri, 28 May 2021 08:32:37 +0200 Subject: [PATCH] Always allow sign change --- ui.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/ui.c b/ui.c index 85529d6..93facb1 100644 --- a/ui.c +++ b/ui.c @@ -1905,6 +1905,25 @@ keypad_click(int key) } else if (c == KP_MINUS) { if (kp_index == 0) kp_buf[kp_index++] = '-'; + else { + // always allow sign change, even when not on first position + if (kp_buf[0] == '-') { + kp_index = 0; + do { + kp_buf[kp_index] = kp_buf[kp_index+1]; + kp_index++; + } while (kp_buf[kp_index]); + } else { + int j = kp_index; + do { + kp_buf[j+1] = kp_buf[j]; + j--; + } while (j >= 0); + kp_buf[0] = '-'; + kp_index++; + } + + } } else if (c == KP_BS) { if (kp_index == 0) { return KP_CANCEL;