Merge pull request #312 from Niautanor/master

fix for Issue #288
This commit is contained in:
irungentoo 2013-08-05 07:19:50 -07:00
commit 519e22677a
2 changed files with 44 additions and 15 deletions

View File

@ -42,7 +42,12 @@ char *help = "[i] commands:\n/f ID (to add friend)\n/m friendnumber message "
"name)\n/q (to quit)";
int x, y;
uint8_t pending_requests[256][CLIENT_ID_SIZE];
typedef struct {
uint8_t id[CLIENT_ID_SIZE];
uint8_t accepted;
} Friend_request;
Friend_request pending_requests[256];
uint8_t num_requests = 0;
void get_id(char *data)
@ -231,15 +236,21 @@ void line_eval(char *line)
else if (inpt_command == 'a') {
uint8_t numf = atoi(line + 3);
char numchar[100];
int num = m_addfriend_norequest(pending_requests[numf]);
if (num != -1) {
sprintf(numchar, "[i] friend request %u accepted", numf);
new_lines(numchar);
sprintf(numchar, "[i] added friendnumber %d", num);
if (numf >= num_requests || pending_requests[numf].accepted) {
sprintf(numchar,"[i] you either didn't receive that request or you already accepted it");
new_lines(numchar);
} else {
sprintf(numchar, "[i] failed to add friend");
new_lines(numchar);
int num = m_addfriend_norequest(pending_requests[numf].id);
if (num != -1) {
pending_requests[numf].accepted = 1;
sprintf(numchar, "[i] friend request %u accepted", numf);
new_lines(numchar);
sprintf(numchar, "[i] added friendnumber %d", num);
new_lines(numchar);
} else {
sprintf(numchar, "[i] failed to add friend");
new_lines(numchar);
}
}
do_refresh();
}
@ -332,7 +343,8 @@ void print_request(uint8_t *public_key, uint8_t *data, uint16_t length)
char numchar[100];
sprintf(numchar, "[i] accept request with /a %u", num_requests);
new_lines(numchar);
memcpy(pending_requests[num_requests], public_key, CLIENT_ID_SIZE);
memcpy(pending_requests[num_requests].id, public_key, CLIENT_ID_SIZE);
pending_requests[num_requests].accepted = 0;
++num_requests;
do_refresh();
}

View File

@ -26,7 +26,12 @@
#include <process.h>
uint8_t pending_requests[256][CLIENT_ID_SIZE];
typedef struct {
uint8_t id[CLIENT_ID_SIZE];
uint8_t accepted;
} Friend_request;
Friend_request pending_requests[256];
uint8_t num_requests = 0;
uint32_t maxnumfriends;
@ -51,7 +56,8 @@ void print_request(uint8_t *public_key, uint8_t *data, uint16_t length)
char numchar[100];
sprintf(numchar, "\n[i] accept request with /a %u\n\n", num_requests);
printf(numchar);
memcpy(pending_requests[num_requests], public_key, CLIENT_ID_SIZE);
memcpy(pending_requests[num_requests].id, public_key, CLIENT_ID_SIZE);
pending_requests[num_requests].accepted = 0;
++num_requests;
}
@ -287,10 +293,21 @@ void accept_friend_request()
friend_request_received = 0;
uint8_t numf = atoi(line + 3);
char numchar[100];
int num = m_addfriend_norequest(pending_requests[numf]);
sprintf(numchar, "\n[i] Added friendnumber: %d\n\n", num);
printf(numchar);
++maxnumfriends;
if (numf >= num_requests || pending_requests[numf].accepted) {
sprintf(numchar, "\n[i] you either didn't receive that request or you already accepted it");
printf(numchar);
} else {
int num = m_addfriend_norequest(pending_requests[numf].id);
if (num != -1) {
pending_requests[numf].accepted = 1;
sprintf(numchar, "\n[i] Added friendnumber: %d\n\n", num);
printf(numchar);
++maxnumfriends;
} else {
sprintf(numchar, "[i] failed to add friend");
printf(numchar);
}
}
}
void line_eval(char* line)