diff options
Diffstat (limited to 'toxcore')
-rw-r--r-- | toxcore/Messenger.c | 14 | ||||
-rw-r--r-- | toxcore/Messenger.h | 3 | ||||
-rw-r--r-- | toxcore/tox.h | 2 |
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 | */ |
405 | int getname(Messenger *m, int friendnumber, uint8_t *name) | 405 | int 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 | ||
414 | int m_set_statusmessage(Messenger *m, uint8_t *status, uint16_t length) | 414 | int 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 | */ |
259 | int getname(Messenger *m, int friendnumber, uint8_t *name); | 260 | int 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 | */ |
188 | int tox_getname(Tox *tox, int friendnumber, uint8_t *name); | 188 | int tox_getname(Tox *tox, int friendnumber, uint8_t *name); |