summaryrefslogtreecommitdiff
path: root/testing/toxic/main.c
diff options
context:
space:
mode:
authorirungentoo <irungentoo@gmail.com>2013-08-18 10:19:35 -0400
committerirungentoo <irungentoo@gmail.com>2013-08-18 10:19:35 -0400
commit558a80f1c38dd4a9099102b5e1f54b7cbd209a33 (patch)
tree79a4548b39f59b6834e4729aa67e60f7f8658cd6 /testing/toxic/main.c
parent3aaa144b90a50caf69fcd8a982739cf852ad47c2 (diff)
parentaf12267c77c406547f06c75fca4b8c3cbefdec72 (diff)
Merge branch 'tox-bugs' of https://github.com/stqism/ToxCore into stqism-tox-bugs
Diffstat (limited to 'testing/toxic/main.c')
-rw-r--r--testing/toxic/main.c47
1 files changed, 38 insertions, 9 deletions
diff --git a/testing/toxic/main.c b/testing/toxic/main.c
index 4562f394..05fabe4c 100644
--- a/testing/toxic/main.c
+++ b/testing/toxic/main.c
@@ -27,6 +27,7 @@
27 27
28/* Export for use in Callbacks */ 28/* Export for use in Callbacks */
29char *DATA_FILE = NULL; 29char *DATA_FILE = NULL;
30char dir[31];
30 31
31void on_window_resize(int sig) 32void on_window_resize(int sig)
32{ 33{
@@ -35,6 +36,17 @@ void on_window_resize(int sig)
35 clear(); 36 clear();
36} 37}
37 38
39void setdir()
40{
41 #ifdef WIN32
42 strcpy(dir, "%appdata%/.tox/");
43 #elif defined(MAC_OSX)
44 strcpy(dir, "~/Library/Application Support/.tox/");
45 #elif defined(linux)
46 strcpy(dir, "~/.tox/");
47 #endif
48}
49
38static void init_term() 50static void init_term()
39{ 51{
40 /* Setup terminal */ 52 /* Setup terminal */
@@ -52,6 +64,10 @@ static void init_term()
52 init_pair(3, COLOR_RED, COLOR_BLACK); 64 init_pair(3, COLOR_RED, COLOR_BLACK);
53 init_pair(4, COLOR_BLUE, COLOR_BLACK); 65 init_pair(4, COLOR_BLUE, COLOR_BLACK);
54 init_pair(5, COLOR_YELLOW, COLOR_BLACK); 66 init_pair(5, COLOR_YELLOW, COLOR_BLACK);
67 init_pair(6, COLOR_MAGENTA, COLOR_BLACK);
68 init_pair(7, COLOR_BLACK, COLOR_BLACK);
69 init_pair(8, COLOR_BLACK, COLOR_WHITE);
70
55 } 71 }
56 72
57 refresh(); 73 refresh();
@@ -68,13 +84,15 @@ static Messenger *init_tox()
68 m_callback_namechange(m, on_nickchange, NULL); 84 m_callback_namechange(m, on_nickchange, NULL);
69 m_callback_statusmessage(m, on_statuschange, NULL); 85 m_callback_statusmessage(m, on_statuschange, NULL);
70 m_callback_action(m, on_action, NULL); 86 m_callback_action(m, on_action, NULL);
71#ifdef __linux__ 87 #ifdef __linux__
72 setname(m, (uint8_t *) "Cool guy", sizeof("Cool guy")); 88 setname(m, (uint8_t *) "Cool guy", sizeof("Cool guy"));
73#elif WIN32 89 #elif defined(WIN32)
74 setname(m, (uint8_t *) "I should install GNU/Linux", sizeof("I should install GNU/Linux")); 90 setname(m, (uint8_t *) "I should install GNU/Linux", sizeof("I should install GNU/Linux"));
75#else 91 #elif defined(MAC_OSX)
76 setname(m, (uint8_t *) "Hipster", sizeof("Hipster")); 92 setname(m, (uint8_t *) "Hipster", sizeof("Hipster")); //This used to users of other Unixes are hipsters
77#endif 93 #else
94 setname(m, (uint8_t *) "Registered Minix user #4", sizeof("Registered Minix user #4"));
95 #endif
78 return m; 96 return m;
79} 97}
80 98
@@ -88,7 +106,13 @@ int init_connection(void)
88 if (DHT_isconnected()) 106 if (DHT_isconnected())
89 return 0; 107 return 0;
90 108
91 FILE *fp = fopen("../../../other/DHTservers", "r"); 109 #if WIN32
110 FILE *fp = fopen("%appdata%/.tox/DHTservers", "r");
111 #elif MAC_OSX
112 FILE *fp = fopen("~/Library/Application Support/.tox/DHTservers", "r");
113 #else
114 FILE *fp = fopen("~/.tox/DHTservers", "r");
115 #endif
92 116
93 if (!fp) 117 if (!fp)
94 return 1; 118 return 1;
@@ -255,6 +279,7 @@ static void load_data(Messenger *m, char *path)
255 279
256int main(int argc, char *argv[]) 280int main(int argc, char *argv[])
257{ 281{
282 setdir();
258 char *user_config_dir = get_user_config_dir(); 283 char *user_config_dir = get_user_config_dir();
259 int config_err = 0; 284 int config_err = 0;
260 285
@@ -281,12 +306,16 @@ int main(int argc, char *argv[])
281 config_err = create_user_config_dir(user_config_dir); 306 config_err = create_user_config_dir(user_config_dir);
282 307
283 if (config_err) { 308 if (config_err) {
309 strcat(DATA_FILE, dir);
284 DATA_FILE = strdup("data"); 310 DATA_FILE = strdup("data");
311
312
285 } else { 313 } else {
286 DATA_FILE = malloc(strlen(user_config_dir) + strlen(CONFIGDIR) + strlen("data") + 1); 314 DATA_FILE = malloc(strlen(user_config_dir) + strlen(CONFIGDIR) + strlen("data") + 1);
287 strcpy(DATA_FILE, user_config_dir); 315 strcpy(DATA_FILE, user_config_dir);
288 strcat(DATA_FILE, CONFIGDIR); 316 strcat(DATA_FILE, CONFIGDIR);
289 strcat(DATA_FILE, "data"); 317 strcat(DATA_FILE, dir);
318 DATA_FILE = strdup("data");
290 } 319 }
291 } 320 }
292 321