Remove extraneous avrdude> prompt at end of terminal session

This commit is contained in:
Stefan Rueger 2022-12-14 23:17:44 +00:00
parent 159d12693e
commit 412eb9503e
No known key found for this signature in database
GPG Key ID: B0B4F1FD86B1EC55
1 changed files with 8 additions and 6 deletions

View File

@ -1361,7 +1361,7 @@ void term_gotline(char *cmdstr) {
if(cmdstr) {
if(*cmdstr) {
add_history(cmdstr);
// only quit/abort returns a value > 0
// Only quit returns a value > 0
if(process_line(cmdstr, term_pgm, term_p) > 0)
term_running = 0;
}
@ -1373,14 +1373,18 @@ void term_gotline(char *cmdstr) {
*
* see https://github.com/avrdudes/avrdude/issues/1173
*/
rl_callback_handler_remove();
rl_callback_handler_install("avrdude> ", term_gotline);
if(term_running) {
rl_callback_handler_remove();
rl_callback_handler_install("avrdude> ", term_gotline);
}
} else {
// call quit at end of file or terminal ^D
// End of file or terminal ^D
term_out("\n");
cmd_quit(term_pgm, term_p, 0, NULL);
term_running = 0;
}
if(!term_running)
rl_callback_handler_remove();
}
@ -1401,8 +1405,6 @@ int terminal_mode_interactive(PROGRAMMER *pgm, struct avrpart *p) {
rl_callback_read_char();
}
rl_callback_handler_remove();
return pgm->flush_cache(pgm, p);
}