Fix ^C issue with nullcmd repeat issue (reported by @jfrankowski)

This commit is contained in:
pancake 2014-11-24 03:10:29 +01:00
parent 0d95f6ecfb
commit f9fa0e5536
2 changed files with 7 additions and 1 deletions

View File

@ -397,6 +397,7 @@ R_API char *r_line_readline_cb(RLineReadCallback cb, void *user) {
printf ("\x1b[0K\r%s%s", I.prompt, I.buffer.data);
fflush (stdout);
}
r_cons_singleton()->breaked = R_FALSE;
for (;;) {
#if 0
if (I.echo) {
@ -486,6 +487,7 @@ R_API char *r_line_readline_cb(RLineReadCallback cb, void *user) {
eprintf ("^C\n");
I.buffer.index = I.buffer.length = 0;
*I.buffer.data = '\0';
r_cons_singleton()->breaked = R_TRUE;
goto _end;
case 4: // ^D
if (!I.buffer.data[0]) { /* eof */

View File

@ -50,8 +50,12 @@ static void cmd_debug_reg(RCore *core, const char *str);
static int r_core_cmd_nullcallback(void *data) {
RCore *core = (RCore*) data;
if (core->cons->breaked) {
core->cons->breaked = R_FALSE;
return 0;
}
if (!core->cmdrepeat) return 0;
r_core_cmd_repeat (core, 1);
r_core_cmd_repeat (core, R_TRUE);
return 1;
}