Merge remote-tracking branch 'gordon-quad/master'
https://github.com/haavard/tox-weechat/pull/11
This commit is contained in:
commit
9928d0b8ed
17 changed files with 515 additions and 285 deletions
|
@ -123,11 +123,18 @@ twc_get_status_message_nt(Tox *tox, int32_t friend_number)
|
|||
char *
|
||||
twc_get_peer_name_nt(Tox *tox, int32_t group_number, int32_t peer_number)
|
||||
{
|
||||
uint8_t name[TOX_MAX_NAME_LENGTH] = {0};
|
||||
uint8_t name[TOX_MAX_NAME_LENGTH+1] = {0};
|
||||
TOX_ERR_CONFERENCE_PEER_QUERY err = TOX_ERR_CONFERENCE_PEER_QUERY_OK;
|
||||
|
||||
int length = tox_group_peername(tox, group_number, peer_number, name);
|
||||
if (length >= 0)
|
||||
return twc_null_terminate(name, length);
|
||||
int length = tox_conference_peer_get_name_size(tox, group_number, peer_number, &err);
|
||||
if ((err == TOX_ERR_CONFERENCE_PEER_QUERY_OK) && (length <= TOX_MAX_NAME_LENGTH))
|
||||
{
|
||||
tox_conference_peer_get_name(tox, group_number, peer_number, name, &err);
|
||||
if (err == TOX_ERR_CONFERENCE_PEER_QUERY_OK)
|
||||
return twc_null_terminate(name, length);
|
||||
else
|
||||
return "<unknown>";
|
||||
}
|
||||
else
|
||||
return "<unknown>";
|
||||
}
|
||||
|
@ -186,15 +193,10 @@ twc_uint32_reverse_bytes(uint32_t num)
|
|||
}
|
||||
|
||||
/**
|
||||
* Hash a Tox ID of size TOX_PUBLIC_KEY_SIZE bytes using a modified djb2 hash.
|
||||
* Fit correct unicode string into max chars. Return number of bytes
|
||||
*/
|
||||
unsigned long long
|
||||
twc_hash_tox_id(const uint8_t *tox_id)
|
||||
int
|
||||
twc_fit_utf8(const char *str, int max)
|
||||
{
|
||||
unsigned long long hash = 5381;
|
||||
|
||||
for (size_t i = 0; i < TOX_PUBLIC_KEY_SIZE; ++i)
|
||||
hash ^= (hash << 5) + (hash >> 2) + tox_id[i];
|
||||
|
||||
return hash;
|
||||
return weechat_utf8_real_pos(str, weechat_utf8_strnlen(str, max));
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue