1
0
mirror of https://github.com/Tha14/toxic.git synced 2024-07-03 17:17:46 +02:00

Use configdir.c instead of hardcoded paths for the list of DHT servers.

This commit is contained in:
loadletter 2013-08-18 23:16:39 +02:00
parent bb0251a027
commit 9367508824
2 changed files with 14 additions and 25 deletions

View File

@ -19,9 +19,9 @@
*/ */
#ifdef _win32 #ifdef _win32
#define CONFIGDIR "\\toxic\\" #define CONFIGDIR "\\tox\\"
#else #else
#define CONFIGDIR "/toxic/" #define CONFIGDIR "/tox/"
#endif #endif
#ifndef S_ISDIR #ifndef S_ISDIR

35
main.c
View File

@ -27,7 +27,7 @@
/* Export for use in Callbacks */ /* Export for use in Callbacks */
char *DATA_FILE = NULL; char *DATA_FILE = NULL;
char dir[256]; char *SRVLIST_FILE = NULL;
void on_window_resize(int sig) void on_window_resize(int sig)
{ {
@ -36,17 +36,6 @@ void on_window_resize(int sig)
clear(); clear();
} }
void setdir()
{
#ifdef WIN32
strcpy(dir, "%appdata%/.tox/");
#elif defined(MAC_OSX)
strcpy(dir, "~/Library/Application Support/.tox/");
#elif defined(linux)
strcpy(dir, "~/.tox/");
#endif
}
static void init_term() static void init_term()
{ {
/* Setup terminal */ /* Setup terminal */
@ -103,16 +92,12 @@ static Messenger *init_tox()
/* Connects to a random DHT server listed in the DHTservers file */ /* Connects to a random DHT server listed in the DHTservers file */
int init_connection(void) int init_connection(void)
{ {
FILE *fp = NULL;
if (DHT_isconnected()) if (DHT_isconnected())
return 0; return 0;
#if WIN32 fp = fopen(SRVLIST_FILE, "r");
FILE *fp = fopen("%appdata%/.tox/DHTservers", "r");
#elif MAC_OSX
FILE *fp = fopen("~/Library/Application Support/.tox/DHTservers", "r");
#else
FILE *fp = fopen("~/.tox/DHTservers", "r");
#endif
if (!fp) if (!fp)
return 1; return 1;
@ -279,7 +264,6 @@ static void load_data(Messenger *m, char *path)
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
setdir();
char *user_config_dir = get_user_config_dir(); char *user_config_dir = get_user_config_dir();
int config_err = 0; int config_err = 0;
@ -306,16 +290,20 @@ int main(int argc, char *argv[])
config_err = create_user_config_dir(user_config_dir); config_err = create_user_config_dir(user_config_dir);
if (config_err) { if (config_err) {
strcat(DATA_FILE, dir);
DATA_FILE = strdup("data"); DATA_FILE = strdup("data");
SRVLIST_FILE = strdup("../../other/DHTservers");
} else { } else {
DATA_FILE = malloc(strlen(user_config_dir) + strlen(CONFIGDIR) + strlen("data") + 1); DATA_FILE = malloc(strlen(user_config_dir) + strlen(CONFIGDIR) + strlen("data") + 1);
strcpy(DATA_FILE, user_config_dir); strcpy(DATA_FILE, user_config_dir);
strcat(DATA_FILE, CONFIGDIR); strcat(DATA_FILE, CONFIGDIR);
strcat(DATA_FILE, dir); strcat(DATA_FILE, "data");
DATA_FILE = strdup("data");
SRVLIST_FILE = malloc(strlen(user_config_dir) + strlen(CONFIGDIR) + strlen("DHTservers") + 1);
strcpy(SRVLIST_FILE, user_config_dir);
strcat(SRVLIST_FILE, CONFIGDIR);
strcat(SRVLIST_FILE, "DHTservers");
} }
} }
@ -352,5 +340,6 @@ int main(int argc, char *argv[])
cleanupMessenger(m); cleanupMessenger(m);
free(DATA_FILE); free(DATA_FILE);
free(SRVLIST_FILE);
return 0; return 0;
} }