mirror of
https://github.com/Tha14/toxic.git
synced 2024-11-23 03:13:01 +01:00
make connection more robust
This commit is contained in:
parent
652f7aec26
commit
a8d2ab1af0
18
main.c
18
main.c
@ -157,8 +157,7 @@ int init_connection(void)
|
|||||||
char line[MAXLINE];
|
char line[MAXLINE];
|
||||||
int linecnt = 0;
|
int linecnt = 0;
|
||||||
while (fgets(line, sizeof(line), fp) && linecnt < MAXSERVERS) {
|
while (fgets(line, sizeof(line), fp) && linecnt < MAXSERVERS) {
|
||||||
int len = strlen(line);
|
if (strlen(line) > MINLINE)
|
||||||
if (len > MINLINE && len < MAXLINE)
|
|
||||||
strcpy(servers[linecnt++], line);
|
strcpy(servers[linecnt++], line);
|
||||||
}
|
}
|
||||||
if (linecnt < 1) {
|
if (linecnt < 1) {
|
||||||
@ -248,14 +247,21 @@ static void init_windows()
|
|||||||
|
|
||||||
static void do_tox()
|
static void do_tox()
|
||||||
{
|
{
|
||||||
|
static int conn_try = 1;
|
||||||
static bool dht_on = false;
|
static bool dht_on = false;
|
||||||
if (!dht_on && DHT_isconnected()) {
|
if (!dht_on && !DHT_isconnected()) {
|
||||||
|
init_connection();
|
||||||
|
if (!(conn_try++ % 100))
|
||||||
|
wprintw(prompt->window, "\nAttempting to connect...\n");
|
||||||
|
}
|
||||||
|
else if (!dht_on && DHT_isconnected()) {
|
||||||
dht_on = true;
|
dht_on = true;
|
||||||
wprintw(prompt->window, "\nDHT connected.\n");
|
wprintw(prompt->window, "\nDHT connected.\n");
|
||||||
}
|
}
|
||||||
else if (dht_on && !DHT_isconnected()) {
|
else if (dht_on && !DHT_isconnected()) {
|
||||||
dht_on = false;
|
dht_on = false;
|
||||||
wprintw(prompt->window, "\nDHT disconnected.\n");
|
wprintw(prompt->window, "\nDHT disconnected. Attempting to reconnect.\n");
|
||||||
|
init_connection();
|
||||||
}
|
}
|
||||||
doMessenger();
|
doMessenger();
|
||||||
}
|
}
|
||||||
@ -440,10 +446,6 @@ int main(int argc, char *argv[])
|
|||||||
load_data(DATA_FILE);
|
load_data(DATA_FILE);
|
||||||
free(DATA_FILE);
|
free(DATA_FILE);
|
||||||
|
|
||||||
int connected = init_connection();
|
|
||||||
if (connected != 0)
|
|
||||||
wprintw(prompt->window, "Auto-connect failed (error code %d)\n", connected);
|
|
||||||
|
|
||||||
if (f_flag == -1) {
|
if (f_flag == -1) {
|
||||||
attron(COLOR_PAIR(3) | A_BOLD);
|
attron(COLOR_PAIR(3) | A_BOLD);
|
||||||
wprintw(prompt->window, "You passed '-f' without giving an argument.\n"
|
wprintw(prompt->window, "You passed '-f' without giving an argument.\n"
|
||||||
|
Loading…
Reference in New Issue
Block a user