diff options
Diffstat (limited to 'testing/nTox.c')
-rw-r--r-- | testing/nTox.c | 62 |
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) | |||
355 | void print_nickchange(int friendnumber, uint8_t *string, uint16_t length) | 357 | void 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 | ||
364 | void print_statuschange(int friendnumber, uint8_t *string, uint16_t length) | 367 | void 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 | ||
373 | void load_key(char *path) | 377 | void 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 | |||
415 | FILE_ERROR: | ||
416 | if(fclose(data_file) < 0) | ||
417 | perror("[!] fclose failed"); | ||
418 | exit(1); | ||
407 | } | 419 | } |
408 | 420 | ||
409 | void print_help(void) | 421 | void 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()) { |