int init_connection(Tox *m) { if (linecnt > 0) /* already loaded serverlist */ return init_connection_helper(m, rand() % linecnt) ? 0 : 4; /* only once: * - load the serverlist * - connect to "everyone" inside */ if (!init_connection_serverlist_loaded) { init_connection_serverlist_loaded = 1; int res = serverlist_load(); if (res) return res; if (!linecnt) return 4; res = 6; int linenumber; for(linenumber = 0; linenumber < linecnt; linenumber++) if (init_connection_helper(m, linenumber)) res = 0; return res; } /* empty serverlist file */ return 5; }
void Serverlist_Init (void) { GenerateRandomServerlistString(); // Init mutex: pthread_mutex_init(&m_mut_serverlist, NULL); // Init server list: if (!serverlist_load()) { create_serverlist(INITIAL_SERVERLIST_SIZE); } // Add scommands: Cmd_AddCommand("serverlist_update", M_ServerlistUpdate_f); Cmd_AddCommand("serverlist_refresh", M_ServerlistRefresh_f); Cmd_AddCommand("serverlist_print", M_ServerlistPrint_f); Cmd_AddCommand("serverlist_clear", Serverlist_Clear_f); Cmd_AddCommand("serverlist_sort", M_ServerlistSort_f); }