X-Git-Url: http://cloudbase.mooo.com/gitweb/z180-stamp.git/blobdiff_plain/c748023ede9e7d8bdbf81ce8c8be2a437607a9e4..2d23b44169ebf0e91e2262bc33a6ed62e62ae137:/avr/con-utils.c diff --git a/avr/con-utils.c b/avr/con-utils.c index 5ee1ff1..4108221 100644 --- a/avr/con-utils.c +++ b/avr/con-utils.c @@ -64,6 +64,7 @@ static uint_fast8_t ctrlc_was_pressed; uint_fast8_t ctrlc(void) { + bg_shed(); if (!ctrlc_disabled) { switch (serial_getc()) { case 0x03: /* ^C - Control C */ @@ -79,13 +80,29 @@ uint_fast8_t ctrlc(void) /* Reads user's confirmation. Returns 1 if user's input is "y", "Y", "yes" or "YES" */ +uint_fast8_t confirm_yes(void) +{ + uint_fast8_t checkch, ch; + + checkch = ch = my_getchar(1); + putchar(ch); + while (ch != '\r') { + ch = my_getchar(1); + putchar(ch); + } + putchar('\n'); + + return (checkch == 'y'); +} + +#if 0 uint_fast8_t confirm_yesno(void) { unsigned int i; char str_input[5]; /* Flush input */ - while (serial_getc()) + while (serial_getc() < 0) ; i = 0; while (i < sizeof(str_input)) { @@ -103,6 +120,7 @@ uint_fast8_t confirm_yesno(void) return 1; return 0; } +#endif /* pass 1 to disable ctrlc() checking, 0 to enable. * returns previous state