mirror of
https://github.com/mariusgreuel/avrdude.git
synced 2025-09-27 22:45:27 +00:00
Consider libedit only in interactive mode (#1207)
This commit is contained in:
16
src/term.c
16
src/term.c
@@ -1357,7 +1357,7 @@ void term_gotline(char *cmdstr) {
|
||||
}
|
||||
|
||||
|
||||
int terminal_mode(PROGRAMMER *pgm, struct avrpart *p) {
|
||||
int terminal_mode_interactive(PROGRAMMER *pgm, struct avrpart *p) {
|
||||
term_pgm = pgm; // For callback routine
|
||||
term_p = p;
|
||||
|
||||
@@ -1379,10 +1379,10 @@ int terminal_mode(PROGRAMMER *pgm, struct avrpart *p) {
|
||||
return pgm->flush_cache(pgm, p);
|
||||
}
|
||||
|
||||
#else
|
||||
#endif
|
||||
|
||||
|
||||
int terminal_mode(PROGRAMMER *pgm, struct avrpart *p) {
|
||||
int terminal_mode_noninteractive(PROGRAMMER *pgm, struct avrpart *p) {
|
||||
char *cmdbuf;
|
||||
int rc = 0;
|
||||
|
||||
@@ -1398,7 +1398,17 @@ int terminal_mode(PROGRAMMER *pgm, struct avrpart *p) {
|
||||
return pgm->flush_cache(pgm, p);
|
||||
}
|
||||
|
||||
int terminal_mode(PROGRAMMER *pgm, struct avrpart *p) {
|
||||
#if defined(HAVE_LIBREADLINE)
|
||||
// GNU libreadline can also work if input is a pipe.
|
||||
// EditLine (NetBSD, MacOS) has issues with that, so only use it when
|
||||
// running interactively.
|
||||
// EditLine uses version 4.2 (0x0402).
|
||||
if (isatty(fileno(stdin)) || (rl_readline_version >= 0x0500))
|
||||
return terminal_mode_interactive(pgm, p);
|
||||
#endif
|
||||
return terminal_mode_noninteractive(pgm, p);
|
||||
}
|
||||
|
||||
static void update_progress_tty(int percent, double etime, const char *hdr, int finish) {
|
||||
static char *header;
|
||||
|
Reference in New Issue
Block a user