Fixed error printing for no autoconnect mode

Always print errors but only print silent errors when in no autoconnect
mode.
This commit is contained in:
Martin Lund 2016-05-18 21:28:08 +02:00
parent ffe87bc566
commit dd49d07547
3 changed files with 16 additions and 9 deletions

View file

@ -27,10 +27,14 @@
#include "tio/print.h" #include "tio/print.h"
#include "tio/error.h" #include "tio/error.h"
char error[1000]; char error[2][1000];
void error_exit(void) void error_exit(void)
{ {
if ((error[0] != 0) && (option.no_autoconnect)) /* Always print errors but only print silent errors when in no autoconnect
printf("\rError: %s\r\n", error); * mode */
if (error[0][0] != 0)
printf("\rError: %s\r\n", error[0]);
else if ((error[1][0] != 0) && (option.no_autoconnect))
printf("\rError: %s\r\n", error[1]);
} }

View file

@ -25,10 +25,13 @@
#define TIO_SUCCESS 0 #define TIO_SUCCESS 0
#define TIO_ERROR 1 #define TIO_ERROR 1
extern char error[1000]; extern char error[2][1000];
#define error_printf(format, args...) \ #define error_printf(format, args...) \
snprintf (error, 1000, format, ## args); snprintf (error[0], 1000, format, ## args);
#define error_printf_silent(format, args...) \
snprintf (error[1], 1000, format, ## args);
void error_exit(void); void error_exit(void);

View file

@ -230,14 +230,14 @@ int connect_tty(void)
fd = open(option.tty_device, O_RDWR | O_NOCTTY ); fd = open(option.tty_device, O_RDWR | O_NOCTTY );
if (fd < 0) if (fd < 0)
{ {
error_printf("Could not open tty device (%s)", strerror(errno)); error_printf_silent("Could not open tty device (%s)", strerror(errno));
goto error_open; goto error_open;
} }
/* Make sure device is of tty type */ /* Make sure device is of tty type */
if (!isatty(fd)) if (!isatty(fd))
{ {
error_printf("Not a tty device"); error_printf_silent("Not a tty device");
goto error_isatty; goto error_isatty;
} }
@ -315,7 +315,7 @@ int connect_tty(void)
} else } else
{ {
/* Error reading - device is likely unplugged */ /* Error reading - device is likely unplugged */
error_printf("Could not read from tty device"); error_printf_silent("Could not read from tty device");
goto error_read; goto error_read;
} }
} }
@ -327,7 +327,7 @@ int connect_tty(void)
status = read(STDIN_FILENO, &input_char, 1); status = read(STDIN_FILENO, &input_char, 1);
if (status <= 0) if (status <= 0)
{ {
error_printf("Could not read from stdin"); error_printf_silent("Could not read from stdin");
goto error_read; goto error_read;
} }