summaryrefslogtreecommitdiff
path: root/toxcore
diff options
context:
space:
mode:
Diffstat (limited to 'toxcore')
-rw-r--r--toxcore/Messenger.c14
-rw-r--r--toxcore/Messenger.h3
-rw-r--r--toxcore/tox.h2
3 files changed, 11 insertions, 8 deletions
diff --git a/toxcore/Messenger.c b/toxcore/Messenger.c
index 90d4e43d..846bed6d 100644
--- a/toxcore/Messenger.c
+++ b/toxcore/Messenger.c
@@ -399,7 +399,7 @@ uint16_t getself_name(Messenger *m, uint8_t *name, uint16_t nlen)
399/* Get name of friendnumber and put it in name. 399/* Get name of friendnumber and put it in name.
400 * name needs to be a valid memory location with a size of at least MAX_NAME_LENGTH bytes. 400 * name needs to be a valid memory location with a size of at least MAX_NAME_LENGTH bytes.
401 * 401 *
402 * return 0 if success. 402 * return length of name if success.
403 * return -1 if failure. 403 * return -1 if failure.
404 */ 404 */
405int getname(Messenger *m, int friendnumber, uint8_t *name) 405int getname(Messenger *m, int friendnumber, uint8_t *name)
@@ -407,8 +407,8 @@ int getname(Messenger *m, int friendnumber, uint8_t *name)
407 if (friend_not_valid(m, friendnumber)) 407 if (friend_not_valid(m, friendnumber))
408 return -1; 408 return -1;
409 409
410 memcpy(name, m->friendlist[friendnumber].name, MAX_NAME_LENGTH); 410 memcpy(name, m->friendlist[friendnumber].name, m->friendlist[friendnumber].name_length);
411 return 0; 411 return m->friendlist[friendnumber].name_length;
412} 412}
413 413
414int m_set_statusmessage(Messenger *m, uint8_t *status, uint16_t length) 414int m_set_statusmessage(Messenger *m, uint8_t *status, uint16_t length)
@@ -799,11 +799,13 @@ void doFriends(Messenger *m)
799 if (data_length >= MAX_NAME_LENGTH || data_length == 0) 799 if (data_length >= MAX_NAME_LENGTH || data_length == 0)
800 break; 800 break;
801 801
802 if (m->friend_namechange)
803 m->friend_namechange(m, i, data, data_length, m->friend_namechange_userdata);
804
805 memcpy(m->friendlist[i].name, data, data_length); 802 memcpy(m->friendlist[i].name, data, data_length);
803 m->friendlist[i].name_length = data_length;
806 m->friendlist[i].name[data_length - 1] = 0; /* Make sure the NULL terminator is present. */ 804 m->friendlist[i].name[data_length - 1] = 0; /* Make sure the NULL terminator is present. */
805
806 if (m->friend_namechange)
807 m->friend_namechange(m, i, m->friendlist[i].name, data_length, m->friend_namechange_userdata);
808
807 break; 809 break;
808 } 810 }
809 811
diff --git a/toxcore/Messenger.h b/toxcore/Messenger.h
index 649ca894..0823891a 100644
--- a/toxcore/Messenger.h
+++ b/toxcore/Messenger.h
@@ -101,6 +101,7 @@ typedef struct {
101 uint8_t status; // 0 if no friend, 1 if added, 2 if friend request sent, 3 if confirmed friend, 4 if online. 101 uint8_t status; // 0 if no friend, 1 if added, 2 if friend request sent, 3 if confirmed friend, 4 if online.
102 uint8_t info[MAX_DATA_SIZE]; // the data that is sent during the friend requests we do. 102 uint8_t info[MAX_DATA_SIZE]; // the data that is sent during the friend requests we do.
103 uint8_t name[MAX_NAME_LENGTH]; 103 uint8_t name[MAX_NAME_LENGTH];
104 uint16_t name_length;
104 uint8_t name_sent; // 0 if we didn't send our name to this friend 1 if we have. 105 uint8_t name_sent; // 0 if we didn't send our name to this friend 1 if we have.
105 uint8_t *statusmessage; 106 uint8_t *statusmessage;
106 uint16_t statusmessage_length; 107 uint16_t statusmessage_length;
@@ -253,7 +254,7 @@ uint16_t getself_name(Messenger *m, uint8_t *name, uint16_t nlen);
253/* Get name of friendnumber and put it in name. 254/* Get name of friendnumber and put it in name.
254 * name needs to be a valid memory location with a size of at least MAX_NAME_LENGTH (128) bytes. 255 * name needs to be a valid memory location with a size of at least MAX_NAME_LENGTH (128) bytes.
255 * 256 *
256 * return 0 if success. 257 * return length of name if success.
257 * return -1 if failure. 258 * return -1 if failure.
258 */ 259 */
259int getname(Messenger *m, int friendnumber, uint8_t *name); 260int getname(Messenger *m, int friendnumber, uint8_t *name);
diff --git a/toxcore/tox.h b/toxcore/tox.h
index bd13b998..e6cf0322 100644
--- a/toxcore/tox.h
+++ b/toxcore/tox.h
@@ -182,7 +182,7 @@ uint16_t tox_getselfname(Tox *tox, uint8_t *name, uint16_t nlen);
182/* Get name of friendnumber and put it in name. 182/* Get name of friendnumber and put it in name.
183 * name needs to be a valid memory location with a size of at least MAX_NAME_LENGTH (128) bytes. 183 * name needs to be a valid memory location with a size of at least MAX_NAME_LENGTH (128) bytes.
184 * 184 *
185 * return 0 if success. 185 * return length of name (with the NULL terminator) if success.
186 * return -1 if failure. 186 * return -1 if failure.
187 */ 187 */
188int tox_getname(Tox *tox, int friendnumber, uint8_t *name); 188int tox_getname(Tox *tox, int friendnumber, uint8_t *name);