summaryrefslogtreecommitdiff
path: root/testing/nTox.c
diff options
context:
space:
mode:
Diffstat (limited to 'testing/nTox.c')
-rw-r--r--testing/nTox.c62
1 files changed, 39 insertions, 23 deletions
diff --git a/testing/nTox.c b/testing/nTox.c
index eabb3f28..fe91b1fa 100644
--- a/testing/nTox.c
+++ b/testing/nTox.c
@@ -147,22 +147,24 @@ void line_eval(char *line)
147 for (i = 0; i < 128; i++) 147 for (i = 0; i < 128; i++)
148 temp_id[i] = line[i+prompt_offset]; 148 temp_id[i] = line[i+prompt_offset];
149 149
150 int num = m_addfriend(hex_string_to_bin(temp_id), (uint8_t*)"Install Gentoo", sizeof("Install Gentoo")); 150 unsigned char *bin_string = hex_string_to_bin(temp_id);
151 int num = m_addfriend(bin_string, (uint8_t*)"Install Gentoo", sizeof("Install Gentoo"));
152 free(bin_string);
151 char numstring[100]; 153 char numstring[100];
152 switch (num) { 154 switch (num) {
153 case -1: 155 case FAERR_TOOLONG:
154 sprintf(numstring, "[i] Message is too long."); 156 sprintf(numstring, "[i] Message is too long.");
155 break; 157 break;
156 case -2: 158 case FAERR_NOMESSAGE:
157 sprintf(numstring, "[i] Please add a message to your request."); 159 sprintf(numstring, "[i] Please add a message to your request.");
158 break; 160 break;
159 case -3: 161 case FAERR_OWNKEY:
160 sprintf(numstring, "[i] That appears to be your own ID."); 162 sprintf(numstring, "[i] That appears to be your own ID.");
161 break; 163 break;
162 case -4: 164 case FAERR_ALREADYSENT:
163 sprintf(numstring, "[i] Friend request already sent."); 165 sprintf(numstring, "[i] Friend request already sent.");
164 break; 166 break;
165 case -5: 167 case FAERR_UNKNOWN:
166 sprintf(numstring, "[i] Undefined error when adding friend."); 168 sprintf(numstring, "[i] Undefined error when adding friend.");
167 break; 169 break;
168 default: 170 default:
@@ -355,34 +357,38 @@ void print_message(int friendnumber, uint8_t * string, uint16_t length)
355void print_nickchange(int friendnumber, uint8_t *string, uint16_t length) 357void print_nickchange(int friendnumber, uint8_t *string, uint16_t length)
356{ 358{
357 char name[MAX_NAME_LENGTH]; 359 char name[MAX_NAME_LENGTH];
358 getname(friendnumber, (uint8_t*)name); 360 if(getname(friendnumber, (uint8_t*)name) != -1) {
359 char msg[100+length]; 361 char msg[100+length];
360 sprintf(msg, "[i] [%d] %s is now known as %s.", friendnumber, name, string); 362 sprintf(msg, "[i] [%d] %s is now known as %s.", friendnumber, name, string);
361 new_lines(msg); 363 new_lines(msg);
364 }
362} 365}
363 366
364void print_statuschange(int friendnumber, uint8_t *string, uint16_t length) 367void print_statuschange(int friendnumber, uint8_t *string, uint16_t length)
365{ 368{
366 char name[MAX_NAME_LENGTH]; 369 char name[MAX_NAME_LENGTH];
367 getname(friendnumber, (uint8_t*)name); 370 if(getname(friendnumber, (uint8_t*)name) != -1) {
368 char msg[100+length+strlen(name)+1]; 371 char msg[100+length+strlen(name)+1];
369 sprintf(msg, "[i] [%d] %s's status changed to %s.", friendnumber, name, string); 372 sprintf(msg, "[i] [%d] %s's status changed to %s.", friendnumber, name, string);
370 new_lines(msg); 373 new_lines(msg);
374 }
371} 375}
372 376
373void load_key(char *path) 377void load_key(char *path)
374{ 378{
375 FILE *data_file = fopen(path, "r"); 379 FILE *data_file = fopen(path, "r");
380 int size = 0;
376 381
377 if (data_file) { 382 if (data_file) {
378 //load keys 383 //load keys
379 fseek(data_file, 0, SEEK_END); 384 fseek(data_file, 0, SEEK_END);
380 int size = ftell(data_file); 385 size = ftell(data_file);
381 fseek(data_file, 0, SEEK_SET); 386 rewind(data_file);
387
382 uint8_t data[size]; 388 uint8_t data[size];
383 if (fread(data, sizeof(uint8_t), size, data_file) != size){ 389 if (fread(data, sizeof(uint8_t), size, data_file) != size){
384 printf("[i] could not read data file\n[i] exiting\n"); 390 fputs("[!] could not read data file! exiting...\n", stderr);
385 exit(1); 391 goto FILE_ERROR;
386 } 392 }
387 Messenger_load(data, size); 393 Messenger_load(data, size);
388 394
@@ -399,11 +405,17 @@ void load_key(char *path)
399 } 405 }
400 406
401 if (fwrite(data, sizeof(uint8_t), size, data_file) != size){ 407 if (fwrite(data, sizeof(uint8_t), size, data_file) != size){
402 puts("[i] could not write data file! exiting..."); 408 fputs("[!] could not write data file! exiting...", stderr);
403 exit(1); 409 goto FILE_ERROR;
404 } 410 }
405 } 411 }
406 fclose(data_file); 412
413 return;
414
415FILE_ERROR:
416 if(fclose(data_file) < 0)
417 perror("[!] fclose failed");
418 exit(1);
407} 419}
408 420
409void print_help(void) 421void print_help(void)
@@ -428,7 +440,9 @@ int main(int argc, char *argv[])
428 } 440 }
429 441
430 for(i = 0; i < argc; i++) { 442 for(i = 0; i < argc; i++) {
431 if(argv[i][0] == '-') { 443 if (argv[i] == NULL){
444 break;
445 } else if(argv[i][0] == '-') {
432 if(argv[i][1] == 'h') { 446 if(argv[i][1] == 'h') {
433 print_help(); 447 print_help();
434 exit(0); 448 exit(0);
@@ -468,7 +482,9 @@ int main(int argc, char *argv[])
468 else 482 else
469 exit(1); 483 exit(1);
470 484
471 DHT_bootstrap(bootstrap_ip_port, hex_string_to_bin(argv[3])); 485 unsigned char *binary_string = hex_string_to_bin(argv[3]);
486 DHT_bootstrap(bootstrap_ip_port, binary_string);
487 free(binary_string);
472 nodelay(stdscr, TRUE); 488 nodelay(stdscr, TRUE);
473 while(true) { 489 while(true) {
474 if (on == 0 && DHT_isconnected()) { 490 if (on == 0 && DHT_isconnected()) {