summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/Messenger.c10
-rw-r--r--core/Messenger.h13
2 files changed, 13 insertions, 10 deletions
diff --git a/core/Messenger.c b/core/Messenger.c
index 641dbf8e..872d7407 100644
--- a/core/Messenger.c
+++ b/core/Messenger.c
@@ -113,7 +113,7 @@ int m_addfriend(uint8_t *client_id, uint8_t *data, uint16_t length)
113 if (getfriend_id(client_id) != -1) 113 if (getfriend_id(client_id) != -1)
114 return -3; 114 return -3;
115 uint32_t i; 115 uint32_t i;
116 for (i = 0; i <= numfriends; ++i) { 116 for (i = 0; i <= numfriends; ++i) { /*TODO: dynamic memory allocation, this will segfault if there are more than MAX_NUM_FRIENDS*/
117 if(friendlist[i].status == 0) { 117 if(friendlist[i].status == 0) {
118 DHT_addfriend(client_id); 118 DHT_addfriend(client_id);
119 friendlist[i].status = 1; 119 friendlist[i].status = 1;
@@ -137,7 +137,7 @@ int m_addfriend_norequest(uint8_t * client_id)
137 if (getfriend_id(client_id) != -1) 137 if (getfriend_id(client_id) != -1)
138 return -1; 138 return -1;
139 uint32_t i; 139 uint32_t i;
140 for (i = 0; i <= numfriends; ++i) { 140 for (i = 0; i <= numfriends; ++i) {/*TODO: dynamic memory allocation, this will segfault if there are more than MAX_NUM_FRIENDS*/
141 if(friendlist[i].status == 0) { 141 if(friendlist[i].status == 0) {
142 DHT_addfriend(client_id); 142 DHT_addfriend(client_id);
143 friendlist[i].status = 2; 143 friendlist[i].status = 2;
@@ -167,7 +167,7 @@ int m_delfriend(int friendnumber)
167 memset(&friendlist[friendnumber], 0, sizeof(Friend)); 167 memset(&friendlist[friendnumber], 0, sizeof(Friend));
168 uint32_t i; 168 uint32_t i;
169 for (i = numfriends; i != 0; --i) { 169 for (i = numfriends; i != 0; --i) {
170 if (friendlist[i].status != 0) 170 if (friendlist[i-1].status != 0)
171 break; 171 break;
172 } 172 }
173 numfriends = i; 173 numfriends = i;
@@ -181,7 +181,7 @@ int m_delfriend(int friendnumber)
181 return 0 if there is no friend with that number */ 181 return 0 if there is no friend with that number */
182int m_friendstatus(int friendnumber) 182int m_friendstatus(int friendnumber)
183{ 183{
184 if (friendnumber < 0 || friendnumber >= MAX_NUM_FRIENDS) 184 if (friendnumber < 0 || friendnumber >= numfriends)
185 return 0; 185 return 0;
186 return friendlist[friendnumber].status; 186 return friendlist[friendnumber].status;
187} 187}
@@ -191,7 +191,7 @@ int m_friendstatus(int friendnumber)
191 return 0 if it was not */ 191 return 0 if it was not */
192int m_sendmessage(int friendnumber, uint8_t *message, uint32_t length) 192int m_sendmessage(int friendnumber, uint8_t *message, uint32_t length)
193{ 193{
194 if (friendnumber < 0 || friendnumber >= MAX_NUM_FRIENDS) 194 if (friendnumber < 0 || friendnumber >= numfriends)
195 return 0; 195 return 0;
196 if (length >= MAX_DATA_SIZE || friendlist[friendnumber].status != 4) 196 if (length >= MAX_DATA_SIZE || friendlist[friendnumber].status != 4)
197 /* this does not mean the maximum message length is MAX_DATA_SIZE - 1, it is actually 17 bytes less. */ 197 /* this does not mean the maximum message length is MAX_DATA_SIZE - 1, it is actually 17 bytes less. */
diff --git a/core/Messenger.h b/core/Messenger.h
index 6ab50175..9ce96fb4 100644
--- a/core/Messenger.h
+++ b/core/Messenger.h
@@ -46,11 +46,14 @@ extern "C" {
46 to an absurdly large number later */ 46 to an absurdly large number later */
47 47
48/* add a friend 48/* add a friend
49 set the data that will be sent along with friend request 49 set the data that will be sent along with friend request
50 client_id is the client id of the friend 50 client_id is the client id of the friend
51 data is the data and length is the length 51 data is the data and length is the length
52 returns the friend number if success 52 returns the friend number if success
53 return -1 if failure. */ 53 return -1 if key length is wrong.
54 return -2 if user's own key
55 return -3 if already a friend
56 return -4 for other*/
54int m_addfriend(uint8_t *client_id, uint8_t *data, uint16_t length); 57int m_addfriend(uint8_t *client_id, uint8_t *data, uint16_t length);
55 58
56 59