index f115e3e2a51088efdf2dec9e5547ffa1a60642cc..8d91048e35c5714fe7522f112aa5e736208b5a85 100644 (file)
--- a/src/tools/sysdb/input.c
+++ b/src/tools/sysdb/input.c
#include "tools/sysdb/input.h"
#include "tools/sysdb/command.h"
+#include "utils/error.h"
#include "utils/strbuf.h"
#include <sys/select.h>
if (! FD_ISSET(client_fd, &fds))
continue;
+ if (sdb_client_eof(sysdb_input->client)) {
+ /* XXX: try to reconnect */
+ printf("\n");
+ sdb_log(SDB_LOG_ERR, "Remote side closed the connection.");
+ /* return EOF */
+ return 0;
+ }
+
/* some response / error message from the server pending */
/* XXX: clear current line */
printf("\n");
- sdb_command_print_reply(sysdb_input);
+ sdb_command_print_reply(sysdb_input->client);
rl_forced_update_display();
}
} /* sdb_input_mainloop */
ssize_t
-sdb_input_readline(char *buf, int *n_chars, size_t max_chars)
+sdb_input_readline(char *buf, size_t *n_chars, size_t max_chars)
{
const char *data;
size_t len;