From e9751d2ac057070c52a7a67bd6e8b97e944ee088 Mon Sep 17 00:00:00 2001
From: Damien George <damien.p.george@gmail.com>
Date: Tue, 22 Dec 2015 22:06:09 +0000
Subject: [PATCH] unix: Properly cancel REPL input when Ctrl-C is pressed.

---
 unix/main.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/unix/main.c b/unix/main.c
index da618d566..e7fce873b 100644
--- a/unix/main.c
+++ b/unix/main.c
@@ -176,7 +176,11 @@ STATIC int do_repl(void) {
         int ret = readline(&line, ">>> ");
         mp_parse_input_kind_t parse_input_kind = MP_PARSE_SINGLE_INPUT;
 
-        if (ret == CHAR_CTRL_D) {
+        if (ret == CHAR_CTRL_C) {
+            // cancel input
+            mp_hal_stdout_tx_str("\r\n");
+            goto input_restart;
+        } else if (ret == CHAR_CTRL_D) {
             // EOF
             printf("\n");
             mp_hal_stdio_mode_orig();
-- 
GitLab