1
0
mirror of https://github.com/Tha14/toxic.git synced 2025-12-08 09:56:35 +01:00

Port to new group API

This commit is contained in:
Jfreegman
2015-07-13 22:12:13 -04:00
30 changed files with 1679 additions and 667 deletions

View File

@@ -287,11 +287,19 @@ size_t get_nick_truncate(Tox *m, char *buf, uint32_t friendnum)
/* same as get_nick_truncate but for groupchats */
int get_group_nick_truncate(Tox *m, char *buf, int peernum, int groupnum)
{
int len = tox_group_peername(m, groupnum, peernum, (uint8_t *) buf);
TOX_ERR_GROUP_PEER_QUERY err;
size_t len = tox_group_peer_get_name_size(m, groupnum, peernum, &err);
if (len == -1) {
if (err != TOX_ERR_GROUP_PEER_QUERY_OK) {
strcpy(buf, UNKNOWN_NAME);
len = strlen(UNKNOWN_NAME);
} else {
tox_group_peer_get_name(m, groupnum, peernum, (uint8_t *) buf, &err);
if (err != TOX_ERR_GROUP_PEER_QUERY_OK) {
strcpy(buf, UNKNOWN_NAME);
len = strlen(UNKNOWN_NAME);
}
}
len = MIN(len, TOXIC_MAX_NAME_LENGTH - 1);
@@ -301,13 +309,18 @@ int get_group_nick_truncate(Tox *m, char *buf, int peernum, int groupnum)
}
/* copies data to msg buffer.
returns length of msg, which will be no larger than size-1 */
returns length of msg.
returns 0 and nulls msg if length is too big for buffer size */
size_t copy_tox_str(char *msg, size_t size, const char *data, size_t length)
{
size_t len = MIN(length, size - 1);
memcpy(msg, data, len);
msg[len] = '\0';
return len;
if (length > size - 1) {
msg[0] = '\0';
return 0;
}
memcpy(msg, data, length);
msg[length] = '\0';
return length;
}
/* returns index of the first instance of ch in s starting at idx.