From 3853a30acf67bf07fcbb7254eafd31da8f749a32 Mon Sep 17 00:00:00 2001 From: Jfreegman Date: Mon, 9 Sep 2013 06:41:33 -0400 Subject: initialize name_length --- toxcore/Messenger.c | 6 ++++-- toxcore/tox.c | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/toxcore/Messenger.c b/toxcore/Messenger.c index 07893e02..3757faf3 100644 --- a/toxcore/Messenger.c +++ b/toxcore/Messenger.c @@ -346,7 +346,7 @@ static int m_sendname(Messenger *m, int friendnumber, uint8_t *name, uint16_t le return write_cryptpacket_id(m, friendnumber, PACKET_ID_NICKNAME, name, length); } -/* Set the name of a friend. +/* Set the name and name_length of a friend. * * return 0 if success. * return -1 if failure. @@ -356,7 +356,9 @@ static int setfriendname(Messenger *m, int friendnumber, uint8_t *name) if (friend_not_valid(m, friendnumber)) return -1; - memcpy(m->friendlist[friendnumber].name, name, MAX_NAME_LENGTH); + uint16_t len = strlen(name) + 1; + m->friendlist[friendnumber].name_length = len; + memcpy(m->friendlist[friendnumber].name, name, len); return 0; } diff --git a/toxcore/tox.c b/toxcore/tox.c index 83b19e9b..54bbd9f0 100644 --- a/toxcore/tox.c +++ b/toxcore/tox.c @@ -184,7 +184,7 @@ uint16_t tox_getselfname(void *tox, uint8_t *name, uint16_t nlen) /* Get name of friendnumber and put it in name. * name needs to be a valid memory location with a size of at least MAX_NAME_LENGTH (128) bytes. * - * return 0 if success. + * return length of name (with the NULL terminator) if success. * return -1 if failure. */ int tox_getname(void *tox, int friendnumber, uint8_t *name) -- cgit v1.2.3 From 5a1897162b16ec8aeccef2428e663748ab7852f5 Mon Sep 17 00:00:00 2001 From: Jfreegman Date: Mon, 9 Sep 2013 07:11:30 -0400 Subject: a better way --- toxcore/Messenger.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/toxcore/Messenger.c b/toxcore/Messenger.c index 3757faf3..eb40cf10 100644 --- a/toxcore/Messenger.c +++ b/toxcore/Messenger.c @@ -351,12 +351,11 @@ static int m_sendname(Messenger *m, int friendnumber, uint8_t *name, uint16_t le * return 0 if success. * return -1 if failure. */ -static int setfriendname(Messenger *m, int friendnumber, uint8_t *name) +static int setfriendname(Messenger *m, int friendnumber, uint8_t *name, uint8_t len) { if (friend_not_valid(m, friendnumber)) return -1; - uint16_t len = strlen(name) + 1; m->friendlist[friendnumber].name_length = len; memcpy(m->friendlist[friendnumber].name, name, len); return 0; @@ -1029,7 +1028,7 @@ int Messenger_load(Messenger *m, uint8_t *data, uint32_t length) for (i = 0; i < num; ++i) { if (temp[i].status >= 3) { int fnum = m_addfriend_norequest(m, temp[i].client_id); - setfriendname(m, fnum, temp[i].name); + setfriendname(m, fnum, temp[i].name, temp[i].name_length); /* set_friend_statusmessage(fnum, temp[i].statusmessage, temp[i].statusmessage_length); */ } else if (temp[i].status != 0) { /* TODO: This is not a good way to do this. */ -- cgit v1.2.3 From 7e84ba460688f54a4ccb33b6c3395e090a36cc89 Mon Sep 17 00:00:00 2001 From: Jfreegman Date: Mon, 9 Sep 2013 07:14:47 -0400 Subject: wrong type --- toxcore/Messenger.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toxcore/Messenger.c b/toxcore/Messenger.c index eb40cf10..b712d142 100644 --- a/toxcore/Messenger.c +++ b/toxcore/Messenger.c @@ -351,7 +351,7 @@ static int m_sendname(Messenger *m, int friendnumber, uint8_t *name, uint16_t le * return 0 if success. * return -1 if failure. */ -static int setfriendname(Messenger *m, int friendnumber, uint8_t *name, uint8_t len) +static int setfriendname(Messenger *m, int friendnumber, uint8_t *name, uint16_t len) { if (friend_not_valid(m, friendnumber)) return -1; -- cgit v1.2.3