Squashed 'external/toxcore/c-toxcore/' changes from 1701691d5..640e6cace
640e6cace fix(toxav): remove extra copy of video frame on encode Tested and works, but there might be alignment issues and other stuff. 6f7f51554 chore(toxav): use realtime deadline for vp8 encoder Technically all this does is choose a quality based on frame duration, which we always set to 1, and as such is always realtime. (In same timebase as pts, which we use as a frame counter...) 5047ae5a2 chore: make the source tarball exhibit the old behavior 14804a4b8 chore: Fix sonar-scan CI action. e2db7d946 cleanup: Exclude lan_discovery test from running on macos, instead of excluding it from the project. 3accade67 chore: Fix CI, disabling some tests that no longer run on CI. ef8d767e6 cleanup: Fix comment formatting errors. 34ec822da cleanup: Fix some clang-19 format warnings. 40b3f0b46 refactor: Use clang's nullability qualifiers instead of attributes. f81e30679 refactor: Use per-parameter nullability annotations. REVERT: 1701691d5 chore(toxav): use realtime deadline for vp8 encoder Technically all this does is choose a quality based on frame duration, which we always set to 1, and as such is always realtime. (In same timebase as pts, which we use as a frame counter...) REVERT: a87505867 fix(toxav): remove extra copy of video frame on encode Tested and works, but there might be alignment issues and other stuff. git-subtree-dir: external/toxcore/c-toxcore git-subtree-split: 640e6cace81b4412c45977b94eb9c41e53c54035
This commit is contained in:
@@ -61,8 +61,7 @@ bool friend_is_valid(const Messenger *m, int32_t friendnumber)
|
||||
*
|
||||
* @retval -1 if mem_vrealloc fails.
|
||||
*/
|
||||
non_null()
|
||||
static int realloc_friendlist(Messenger *m, uint32_t num)
|
||||
static int realloc_friendlist(Messenger *_Nonnull m, uint32_t num)
|
||||
{
|
||||
if (num == 0) {
|
||||
mem_delete(m->mem, m->friendlist);
|
||||
@@ -137,32 +136,25 @@ void getaddress(const Messenger *m, uint8_t *address)
|
||||
memcpy(address + CRYPTO_PUBLIC_KEY_SIZE + sizeof(nospam), &checksum, sizeof(checksum));
|
||||
}
|
||||
|
||||
non_null()
|
||||
static bool send_online_packet(const Messenger *m, int friendcon_id)
|
||||
static bool send_online_packet(const Messenger *_Nonnull m, int friendcon_id)
|
||||
{
|
||||
const uint8_t packet[1] = {PACKET_ID_ONLINE};
|
||||
return write_cryptpacket(m->net_crypto, friend_connection_crypt_connection_id(m->fr_c, friendcon_id), packet,
|
||||
sizeof(packet), false) != -1;
|
||||
}
|
||||
|
||||
non_null()
|
||||
static bool send_offline_packet(const Messenger *m, int friendcon_id)
|
||||
static bool send_offline_packet(const Messenger *_Nonnull m, int friendcon_id)
|
||||
{
|
||||
const uint8_t packet[1] = {PACKET_ID_OFFLINE};
|
||||
return write_cryptpacket(m->net_crypto, friend_connection_crypt_connection_id(m->fr_c, friendcon_id), packet,
|
||||
sizeof(packet), false) != -1;
|
||||
}
|
||||
|
||||
non_null(1) nullable(4)
|
||||
static int m_handle_status(void *object, int friendcon_id, bool status, void *userdata);
|
||||
non_null(1, 3) nullable(5)
|
||||
static int m_handle_packet(void *object, int friendcon_id, const uint8_t *data, uint16_t length, void *userdata);
|
||||
non_null(1, 3) nullable(5)
|
||||
static int m_handle_lossy_packet(void *object, int friendcon_id, const uint8_t *data, uint16_t length,
|
||||
void *userdata);
|
||||
|
||||
non_null()
|
||||
static int32_t init_new_friend(Messenger *m, const uint8_t *real_pk, uint8_t status)
|
||||
static int m_handle_status(void *_Nonnull object, int friendcon_id, bool status, void *_Nullable userdata);
|
||||
static int m_handle_packet(void *_Nonnull object, int friendcon_id, const uint8_t *_Nonnull data, uint16_t length, void *_Nullable userdata);
|
||||
static int m_handle_lossy_packet(void *_Nonnull object, int friendcon_id, const uint8_t *_Nonnull data, uint16_t length,
|
||||
void *_Nullable userdata);
|
||||
static int32_t init_new_friend(Messenger *_Nonnull m, const uint8_t *_Nonnull real_pk, uint8_t status)
|
||||
{
|
||||
if (m->numfriends == UINT32_MAX) {
|
||||
LOGGER_ERROR(m->log, "Friend list full: we have more than 4 billion friends");
|
||||
@@ -211,8 +203,7 @@ static int32_t init_new_friend(Messenger *m, const uint8_t *real_pk, uint8_t sta
|
||||
return FAERR_NOMEM;
|
||||
}
|
||||
|
||||
non_null()
|
||||
static int32_t m_add_friend_contact_norequest(Messenger *m, const uint8_t *real_pk)
|
||||
static int32_t m_add_friend_contact_norequest(Messenger *_Nonnull m, const uint8_t *_Nonnull real_pk)
|
||||
{
|
||||
if (getfriend_id(m, real_pk) != -1) {
|
||||
return FAERR_ALREADYSENT;
|
||||
@@ -320,8 +311,7 @@ int32_t m_addfriend_norequest(Messenger *m, const uint8_t *real_pk)
|
||||
return m_add_friend_contact_norequest(m, real_pk);
|
||||
}
|
||||
|
||||
non_null()
|
||||
static int clear_receipts(Messenger *m, int32_t friendnumber)
|
||||
static int clear_receipts(Messenger *_Nonnull m, int32_t friendnumber)
|
||||
{
|
||||
if (!m_friend_exists(m, friendnumber)) {
|
||||
return -1;
|
||||
@@ -340,8 +330,7 @@ static int clear_receipts(Messenger *m, int32_t friendnumber)
|
||||
return 0;
|
||||
}
|
||||
|
||||
non_null()
|
||||
static int add_receipt(Messenger *m, int32_t friendnumber, uint32_t packet_num, uint32_t msg_id)
|
||||
static int add_receipt(Messenger *_Nonnull m, int32_t friendnumber, uint32_t packet_num, uint32_t msg_id)
|
||||
{
|
||||
if (!m_friend_exists(m, friendnumber)) {
|
||||
return -1;
|
||||
@@ -370,8 +359,7 @@ static int add_receipt(Messenger *m, int32_t friendnumber, uint32_t packet_num,
|
||||
* return -1 on failure.
|
||||
* return 0 if packet was received.
|
||||
*/
|
||||
non_null()
|
||||
static int friend_received_packet(const Messenger *m, int32_t friendnumber, uint32_t number)
|
||||
static int friend_received_packet(const Messenger *_Nonnull m, int32_t friendnumber, uint32_t number)
|
||||
{
|
||||
if (!m_friend_exists(m, friendnumber)) {
|
||||
return -1;
|
||||
@@ -428,8 +416,7 @@ void m_kill_group_connection(Messenger *m, const GC_Chat *chat)
|
||||
kill_friend_connection(m->fr_c, chat->friend_connection_id);
|
||||
}
|
||||
|
||||
non_null(1) nullable(3)
|
||||
static int do_receipts(Messenger *m, int32_t friendnumber, void *userdata)
|
||||
static int do_receipts(Messenger *_Nonnull m, int32_t friendnumber, void *_Nullable userdata)
|
||||
{
|
||||
if (!m_friend_exists(m, friendnumber)) {
|
||||
return -1;
|
||||
@@ -606,9 +593,7 @@ int m_send_message_generic(Messenger *m, int32_t friendnumber, uint8_t type, con
|
||||
return 0;
|
||||
}
|
||||
|
||||
non_null()
|
||||
static bool write_cryptpacket_id(const Messenger *m, int32_t friendnumber, uint8_t packet_id, const uint8_t *data,
|
||||
uint32_t length, bool congestion_control)
|
||||
static bool write_cryptpacket_id(const Messenger *_Nonnull m, int32_t friendnumber, uint8_t packet_id, const uint8_t *_Nonnull data, uint32_t length, bool congestion_control)
|
||||
{
|
||||
if (!m_friend_exists(m, friendnumber)) {
|
||||
return false;
|
||||
@@ -631,8 +616,7 @@ static bool write_cryptpacket_id(const Messenger *m, int32_t friendnumber, uint8
|
||||
/** @brief Send a name packet to friendnumber.
|
||||
* length is the length with the NULL terminator.
|
||||
*/
|
||||
non_null()
|
||||
static bool m_sendname(const Messenger *m, int32_t friendnumber, const uint8_t *name, uint16_t length)
|
||||
static bool m_sendname(const Messenger *_Nonnull m, int32_t friendnumber, const uint8_t *_Nonnull name, uint16_t length)
|
||||
{
|
||||
if (length > MAX_NAME_LENGTH) {
|
||||
return false;
|
||||
@@ -771,8 +755,7 @@ int m_set_statusmessage(Messenger *m, const uint8_t *status, uint16_t length)
|
||||
return 0;
|
||||
}
|
||||
|
||||
non_null()
|
||||
static bool userstatus_from_int(uint8_t status, Userstatus *out_enum)
|
||||
static bool userstatus_from_int(uint8_t status, Userstatus *_Nonnull out_enum)
|
||||
{
|
||||
switch (status) {
|
||||
case USERSTATUS_NONE: {
|
||||
@@ -927,27 +910,23 @@ int m_get_istyping(const Messenger *m, int32_t friendnumber)
|
||||
return m->friendlist[friendnumber].is_typing ? 1 : 0;
|
||||
}
|
||||
|
||||
non_null()
|
||||
static bool send_statusmessage(const Messenger *m, int32_t friendnumber, const uint8_t *status, uint16_t length)
|
||||
static bool send_statusmessage(const Messenger *_Nonnull m, int32_t friendnumber, const uint8_t *_Nonnull status, uint16_t length)
|
||||
{
|
||||
return write_cryptpacket_id(m, friendnumber, PACKET_ID_STATUSMESSAGE, status, length, false);
|
||||
}
|
||||
|
||||
non_null()
|
||||
static bool send_userstatus(const Messenger *m, int32_t friendnumber, uint8_t status)
|
||||
static bool send_userstatus(const Messenger *_Nonnull m, int32_t friendnumber, uint8_t status)
|
||||
{
|
||||
return write_cryptpacket_id(m, friendnumber, PACKET_ID_USERSTATUS, &status, sizeof(status), false);
|
||||
}
|
||||
|
||||
non_null()
|
||||
static bool send_user_istyping(const Messenger *m, int32_t friendnumber, bool is_typing)
|
||||
static bool send_user_istyping(const Messenger *_Nonnull m, int32_t friendnumber, bool is_typing)
|
||||
{
|
||||
const uint8_t typing = is_typing ? 1 : 0;
|
||||
return write_cryptpacket_id(m, friendnumber, PACKET_ID_TYPING, &typing, sizeof(typing), false);
|
||||
}
|
||||
|
||||
non_null()
|
||||
static int set_friend_statusmessage(const Messenger *m, int32_t friendnumber, const uint8_t *status, uint16_t length)
|
||||
static int set_friend_statusmessage(const Messenger *_Nonnull m, int32_t friendnumber, const uint8_t *_Nonnull status, uint16_t length)
|
||||
{
|
||||
if (!m_friend_exists(m, friendnumber)) {
|
||||
return -1;
|
||||
@@ -965,14 +944,12 @@ static int set_friend_statusmessage(const Messenger *m, int32_t friendnumber, co
|
||||
return 0;
|
||||
}
|
||||
|
||||
non_null()
|
||||
static void set_friend_userstatus(const Messenger *m, int32_t friendnumber, uint8_t status)
|
||||
static void set_friend_userstatus(const Messenger *_Nonnull m, int32_t friendnumber, uint8_t status)
|
||||
{
|
||||
userstatus_from_int(status, &m->friendlist[friendnumber].userstatus);
|
||||
}
|
||||
|
||||
non_null()
|
||||
static void set_friend_typing(const Messenger *m, int32_t friendnumber, bool is_typing)
|
||||
static void set_friend_typing(const Messenger *_Nonnull m, int32_t friendnumber, bool is_typing)
|
||||
{
|
||||
m->friendlist[friendnumber].is_typing = is_typing;
|
||||
}
|
||||
@@ -1024,11 +1001,9 @@ void m_callback_core_connection(Messenger *m, m_self_connection_status_cb *funct
|
||||
m->core_connection_change = function;
|
||||
}
|
||||
|
||||
non_null(1) nullable(3)
|
||||
static void check_friend_tcp_udp(Messenger *m, int32_t friendnumber, void *userdata)
|
||||
static void check_friend_tcp_udp(Messenger *_Nonnull m, int32_t friendnumber, void *_Nullable userdata)
|
||||
{
|
||||
const int last_connection_udp_tcp = m->friendlist[friendnumber].last_connection_udp_tcp;
|
||||
|
||||
const int ret = m_get_friend_connectionstatus(m, friendnumber);
|
||||
|
||||
if (ret == -1) {
|
||||
@@ -1044,11 +1019,9 @@ static void check_friend_tcp_udp(Messenger *m, int32_t friendnumber, void *userd
|
||||
m->friendlist[friendnumber].last_connection_udp_tcp = (Connection_Status)ret;
|
||||
}
|
||||
|
||||
non_null()
|
||||
static void break_files(const Messenger *m, int32_t friendnumber);
|
||||
static void break_files(const Messenger *_Nonnull m, int32_t friendnumber);
|
||||
|
||||
non_null(1) nullable(4)
|
||||
static void check_friend_connectionstatus(Messenger *m, int32_t friendnumber, uint8_t status, void *userdata)
|
||||
static void check_friend_connectionstatus(Messenger *_Nonnull m, int32_t friendnumber, uint8_t status, void *_Nullable userdata)
|
||||
{
|
||||
if (status == NOFRIEND) {
|
||||
return;
|
||||
@@ -1074,8 +1047,7 @@ static void check_friend_connectionstatus(Messenger *m, int32_t friendnumber, ui
|
||||
}
|
||||
}
|
||||
|
||||
non_null(1) nullable(4)
|
||||
static void set_friend_status(Messenger *m, int32_t friendnumber, uint8_t status, void *userdata)
|
||||
static void set_friend_status(Messenger *_Nonnull m, int32_t friendnumber, uint8_t status, void *_Nullable userdata)
|
||||
{
|
||||
check_friend_connectionstatus(m, friendnumber, status, userdata);
|
||||
m->friendlist[friendnumber].status = status;
|
||||
@@ -1193,9 +1165,8 @@ int file_get_id(const Messenger *m, int32_t friendnumber, uint32_t filenumber, u
|
||||
* @retval 1 on success
|
||||
* @retval 0 on failure
|
||||
*/
|
||||
non_null()
|
||||
static bool file_sendrequest(const Messenger *m, int32_t friendnumber, uint8_t filenumber, uint32_t file_type,
|
||||
uint64_t filesize, const uint8_t *file_id, const uint8_t *filename, uint16_t filename_length)
|
||||
static bool file_sendrequest(const Messenger *_Nonnull m, int32_t friendnumber, uint8_t filenumber, uint32_t file_type, uint64_t filesize, const uint8_t *_Nonnull file_id,
|
||||
const uint8_t *_Nonnull filename, uint16_t filename_length)
|
||||
{
|
||||
if (!m_friend_exists(m, friendnumber)) {
|
||||
return false;
|
||||
@@ -1274,12 +1245,10 @@ long int new_filesender(const Messenger *m, int32_t friendnumber, uint32_t file_
|
||||
return i;
|
||||
}
|
||||
|
||||
non_null(1) nullable(6)
|
||||
static bool send_file_control_packet(const Messenger *m, int32_t friendnumber, bool inbound, uint8_t filenumber,
|
||||
uint8_t control_type, const uint8_t *data, uint16_t data_length)
|
||||
static bool send_file_control_packet(const Messenger *_Nonnull m, int32_t friendnumber, bool inbound, uint8_t filenumber,
|
||||
uint8_t control_type, const uint8_t *_Nullable data, uint16_t data_length)
|
||||
{
|
||||
assert(data_length == 0 || data != nullptr);
|
||||
|
||||
if ((unsigned int)(1 + 3 + data_length) > MAX_CRYPTO_DATA_SIZE) {
|
||||
return false;
|
||||
}
|
||||
@@ -1475,12 +1444,10 @@ int file_seek(const Messenger *m, int32_t friendnumber, uint32_t filenumber, uin
|
||||
/** @return packet number on success.
|
||||
* @retval -1 on failure.
|
||||
*/
|
||||
non_null(1) nullable(4)
|
||||
static int64_t send_file_data_packet(const Messenger *m, int32_t friendnumber, uint8_t filenumber, const uint8_t *data,
|
||||
static int64_t send_file_data_packet(const Messenger *_Nonnull m, int32_t friendnumber, uint8_t filenumber, const uint8_t *_Nullable data,
|
||||
uint16_t length)
|
||||
{
|
||||
assert(length == 0 || data != nullptr);
|
||||
|
||||
if (!m_friend_exists(m, friendnumber)) {
|
||||
return -1;
|
||||
}
|
||||
@@ -1588,8 +1555,7 @@ int send_file_data(const Messenger *m, int32_t friendnumber, uint32_t filenumber
|
||||
* @return true if there's still work to do, false otherwise.
|
||||
*
|
||||
*/
|
||||
non_null()
|
||||
static bool do_all_filetransfers(Messenger *m, int32_t friendnumber, void *userdata, uint32_t *free_slots)
|
||||
static bool do_all_filetransfers(Messenger *_Nonnull m, int32_t friendnumber, void *_Nonnull userdata, uint32_t *_Nonnull free_slots)
|
||||
{
|
||||
Friend *const friendcon = &m->friendlist[friendnumber];
|
||||
|
||||
@@ -1656,8 +1622,7 @@ static bool do_all_filetransfers(Messenger *m, int32_t friendnumber, void *userd
|
||||
return true;
|
||||
}
|
||||
|
||||
non_null(1) nullable(3)
|
||||
static void do_reqchunk_filecb(Messenger *m, int32_t friendnumber, void *userdata)
|
||||
static void do_reqchunk_filecb(Messenger *_Nonnull m, int32_t friendnumber, void *_Nullable userdata)
|
||||
{
|
||||
// We're not currently doing any file transfers.
|
||||
if (m->friendlist[friendnumber].num_sending_files == 0) {
|
||||
@@ -1711,9 +1676,7 @@ static void break_files(const Messenger *m, int32_t friendnumber)
|
||||
}
|
||||
}
|
||||
|
||||
non_null()
|
||||
static struct File_Transfers *get_file_transfer(bool outbound, uint8_t filenumber,
|
||||
uint32_t *real_filenumber, Friend *sender)
|
||||
static struct File_Transfers *get_file_transfer(bool outbound, uint8_t filenumber, uint32_t *_Nonnull real_filenumber, Friend *_Nonnull sender)
|
||||
{
|
||||
struct File_Transfers *ft;
|
||||
|
||||
@@ -1735,9 +1698,8 @@ static struct File_Transfers *get_file_transfer(bool outbound, uint8_t filenumbe
|
||||
/** @retval -1 on failure
|
||||
* @retval 0 on success.
|
||||
*/
|
||||
non_null(1, 6) nullable(8)
|
||||
static int handle_filecontrol(Messenger *m, int32_t friendnumber, bool outbound, uint8_t filenumber,
|
||||
uint8_t control_type, const uint8_t *data, uint16_t length, void *userdata)
|
||||
static int handle_filecontrol(Messenger *_Nonnull m, int32_t friendnumber, bool outbound, uint8_t filenumber,
|
||||
uint8_t control_type, const uint8_t *_Nonnull data, uint16_t length, void *_Nullable userdata)
|
||||
{
|
||||
uint32_t real_filenumber;
|
||||
struct File_Transfers *ft = get_file_transfer(outbound, filenumber, &real_filenumber, &m->friendlist[friendnumber]);
|
||||
@@ -1805,8 +1767,8 @@ static int handle_filecontrol(Messenger *m, int32_t friendnumber, bool outbound,
|
||||
uint64_t position;
|
||||
|
||||
if (length != sizeof(position)) {
|
||||
LOGGER_DEBUG(m->log, "file control (friend %d, file %d): expected payload of length %d, but got %d",
|
||||
friendnumber, filenumber, (uint32_t)sizeof(position), length);
|
||||
LOGGER_DEBUG(m->log, "file control (friend %d, file %d): expected payload of length %u, but got %d",
|
||||
friendnumber, filenumber, (unsigned int)sizeof(position), length);
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -1822,7 +1784,7 @@ static int handle_filecontrol(Messenger *m, int32_t friendnumber, bool outbound,
|
||||
|
||||
if (position >= ft->size) {
|
||||
LOGGER_DEBUG(m->log,
|
||||
"file control (friend %d, file %d): seek position %ld exceeds file size %ld",
|
||||
"file control (friend %d, file %d): seek position %lu exceeds file size %lu",
|
||||
friendnumber, filenumber, (unsigned long)position, (unsigned long)ft->size);
|
||||
return -1;
|
||||
}
|
||||
@@ -1887,12 +1849,10 @@ int m_send_custom_lossy_packet(const Messenger *m, int32_t friendnumber, const u
|
||||
return 0;
|
||||
}
|
||||
|
||||
non_null(1, 3) nullable(5)
|
||||
static int handle_custom_lossless_packet(void *object, int friend_num, const uint8_t *packet, uint16_t length,
|
||||
void *userdata)
|
||||
static int handle_custom_lossless_packet(void *_Nonnull object, int friend_num, const uint8_t *_Nonnull packet, uint16_t length,
|
||||
void *_Nullable userdata)
|
||||
{
|
||||
Messenger *m = (Messenger *)object;
|
||||
|
||||
if (!m_friend_exists(m, friend_num)) {
|
||||
return -1;
|
||||
}
|
||||
@@ -1944,8 +1904,7 @@ int send_custom_lossless_packet(const Messenger *m, int32_t friendnumber, const
|
||||
}
|
||||
|
||||
/** Function to filter out some friend requests*/
|
||||
non_null()
|
||||
static int friend_already_added(void *object, const uint8_t *public_key)
|
||||
static int friend_already_added(void *_Nonnull object, const uint8_t *_Nonnull public_key)
|
||||
{
|
||||
const Messenger *m = (const Messenger *)object;
|
||||
|
||||
@@ -1962,11 +1921,9 @@ static int friend_already_added(void *object, const uint8_t *public_key)
|
||||
* @param friendcon_id friendlist index of the timed-out friend
|
||||
* @param t time
|
||||
*/
|
||||
non_null(1) nullable(4)
|
||||
static void check_friend_request_timed_out(Messenger *m, uint32_t friendcon_id, uint64_t t, void *userdata)
|
||||
static void check_friend_request_timed_out(Messenger *_Nonnull m, uint32_t friendcon_id, uint64_t t, void *_Nullable userdata)
|
||||
{
|
||||
Friend *f = &m->friendlist[friendcon_id];
|
||||
|
||||
if (f->friendrequest_lastsent + f->friendrequest_timeout < t) {
|
||||
set_friend_status(m, friendcon_id, FRIEND_ADDED, userdata);
|
||||
/* Double the default timeout every time if friendrequest is assumed
|
||||
@@ -1976,11 +1933,9 @@ static void check_friend_request_timed_out(Messenger *m, uint32_t friendcon_id,
|
||||
}
|
||||
}
|
||||
|
||||
non_null(1) nullable(4)
|
||||
static int m_handle_status(void *object, int friendcon_id, bool status, void *userdata)
|
||||
static int m_handle_status(void *_Nonnull object, int friendcon_id, bool status, void *_Nullable userdata)
|
||||
{
|
||||
Messenger *m = (Messenger *)object;
|
||||
|
||||
if (status) { /* Went online. */
|
||||
send_online_packet(m, m->friendlist[friendcon_id].friendcon_id);
|
||||
} else { /* Went offline. */
|
||||
@@ -1992,8 +1947,7 @@ static int m_handle_status(void *object, int friendcon_id, bool status, void *us
|
||||
return 0;
|
||||
}
|
||||
|
||||
non_null(1, 3) nullable(5)
|
||||
static int m_handle_packet_offline(Messenger *m, const int friendcon_id, const uint8_t *data, const uint16_t data_length, void *userdata)
|
||||
static int m_handle_packet_offline(Messenger *_Nonnull m, const int friendcon_id, const uint8_t *_Nonnull data, const uint16_t data_length, void *_Nullable userdata)
|
||||
{
|
||||
if (data_length == 0) {
|
||||
set_friend_status(m, friendcon_id, FRIEND_CONFIRMED, userdata);
|
||||
@@ -2002,8 +1956,7 @@ static int m_handle_packet_offline(Messenger *m, const int friendcon_id, const u
|
||||
return 0;
|
||||
}
|
||||
|
||||
non_null(1, 3) nullable(5)
|
||||
static int m_handle_packet_nickname(Messenger *m, const int friendcon_id, const uint8_t *data, const uint16_t data_length, void *userdata)
|
||||
static int m_handle_packet_nickname(Messenger *_Nonnull m, const int friendcon_id, const uint8_t *_Nonnull data, const uint16_t data_length, void *_Nullable userdata)
|
||||
{
|
||||
if (data_length > MAX_NAME_LENGTH) {
|
||||
return 0;
|
||||
@@ -2025,8 +1978,7 @@ static int m_handle_packet_nickname(Messenger *m, const int friendcon_id, const
|
||||
return 0;
|
||||
}
|
||||
|
||||
non_null(1, 3) nullable(5)
|
||||
static int m_handle_packet_statusmessage(Messenger *m, const int friendcon_id, const uint8_t *data, const uint16_t data_length, void *userdata)
|
||||
static int m_handle_packet_statusmessage(Messenger *_Nonnull m, const int friendcon_id, const uint8_t *_Nonnull data, const uint16_t data_length, void *_Nullable userdata)
|
||||
{
|
||||
if (data_length > MAX_STATUSMESSAGE_LENGTH) {
|
||||
return 0;
|
||||
@@ -2046,8 +1998,7 @@ static int m_handle_packet_statusmessage(Messenger *m, const int friendcon_id, c
|
||||
return 0;
|
||||
}
|
||||
|
||||
non_null(1, 3) nullable(5)
|
||||
static int m_handle_packet_userstatus(Messenger *m, const int friendcon_id, const uint8_t *data, const uint16_t data_length, void *userdata)
|
||||
static int m_handle_packet_userstatus(Messenger *_Nonnull m, const int friendcon_id, const uint8_t *_Nonnull data, const uint16_t data_length, void *_Nullable userdata)
|
||||
{
|
||||
if (data_length != 1) {
|
||||
return 0;
|
||||
@@ -2067,8 +2018,7 @@ static int m_handle_packet_userstatus(Messenger *m, const int friendcon_id, cons
|
||||
return 0;
|
||||
}
|
||||
|
||||
non_null(1, 3) nullable(5)
|
||||
static int m_handle_packet_typing(Messenger *m, const int friendcon_id, const uint8_t *data, const uint16_t data_length, void *userdata)
|
||||
static int m_handle_packet_typing(Messenger *_Nonnull m, const int friendcon_id, const uint8_t *_Nonnull data, const uint16_t data_length, void *_Nullable userdata)
|
||||
{
|
||||
if (data_length != 1) {
|
||||
return 0;
|
||||
@@ -2085,8 +2035,8 @@ static int m_handle_packet_typing(Messenger *m, const int friendcon_id, const ui
|
||||
return 0;
|
||||
}
|
||||
|
||||
non_null(1, 3) nullable(6)
|
||||
static int m_handle_packet_message(Messenger *m, const int friendcon_id, const uint8_t *data, const uint16_t data_length, const Message_Type message_type, void *userdata)
|
||||
static int m_handle_packet_message(Messenger *_Nonnull m, const int friendcon_id, const uint8_t *_Nonnull data, const uint16_t data_length, const Message_Type message_type,
|
||||
void *_Nullable userdata)
|
||||
{
|
||||
if (data_length == 0) {
|
||||
return 0;
|
||||
@@ -2107,8 +2057,7 @@ static int m_handle_packet_message(Messenger *m, const int friendcon_id, const u
|
||||
return 0;
|
||||
}
|
||||
|
||||
non_null(1, 3) nullable(5)
|
||||
static int m_handle_packet_invite_conference(Messenger *m, const int friendcon_id, const uint8_t *data, const uint16_t data_length, void *userdata)
|
||||
static int m_handle_packet_invite_conference(Messenger *_Nonnull m, const int friendcon_id, const uint8_t *_Nonnull data, const uint16_t data_length, void *_Nullable userdata)
|
||||
{
|
||||
if (data_length == 0) {
|
||||
return 0;
|
||||
@@ -2121,11 +2070,9 @@ static int m_handle_packet_invite_conference(Messenger *m, const int friendcon_i
|
||||
return 0;
|
||||
}
|
||||
|
||||
non_null(1, 3) nullable(5)
|
||||
static int m_handle_packet_file_sendrequest(Messenger *m, const int friendcon_id, const uint8_t *data, const uint16_t data_length, void *userdata)
|
||||
static int m_handle_packet_file_sendrequest(Messenger *_Nonnull m, const int friendcon_id, const uint8_t *_Nonnull data, const uint16_t data_length, void *_Nullable userdata)
|
||||
{
|
||||
const unsigned int head_length = 1 + sizeof(uint32_t) + sizeof(uint64_t) + FILE_ID_LENGTH;
|
||||
|
||||
if (data_length < head_length) {
|
||||
return 0;
|
||||
}
|
||||
@@ -2186,8 +2133,7 @@ static int m_handle_packet_file_sendrequest(Messenger *m, const int friendcon_id
|
||||
return 0;
|
||||
}
|
||||
|
||||
non_null(1, 3) nullable(5)
|
||||
static int m_handle_packet_file_control(Messenger *m, const int friendcon_id, const uint8_t *data, const uint16_t data_length, void *userdata)
|
||||
static int m_handle_packet_file_control(Messenger *_Nonnull m, const int friendcon_id, const uint8_t *_Nonnull data, const uint16_t data_length, void *_Nullable userdata)
|
||||
{
|
||||
if (data_length < 3) {
|
||||
return 0;
|
||||
@@ -2217,8 +2163,7 @@ static int m_handle_packet_file_control(Messenger *m, const int friendcon_id, co
|
||||
return 0;
|
||||
}
|
||||
|
||||
non_null(1, 3) nullable(5)
|
||||
static int m_handle_packet_file_data(Messenger *m, const int friendcon_id, const uint8_t *data, const uint16_t data_length, void *userdata)
|
||||
static int m_handle_packet_file_data(Messenger *_Nonnull m, const int friendcon_id, const uint8_t *_Nonnull data, const uint16_t data_length, void *_Nullable userdata)
|
||||
{
|
||||
if (data_length < 1) {
|
||||
return 0;
|
||||
@@ -2283,8 +2228,7 @@ static int m_handle_packet_file_data(Messenger *m, const int friendcon_id, const
|
||||
return 0;
|
||||
}
|
||||
|
||||
non_null(1, 3) nullable(5)
|
||||
static int m_handle_packet_invite_groupchat(Messenger *m, const int friendcon_id, const uint8_t *data, const uint16_t data_length, void *userdata)
|
||||
static int m_handle_packet_invite_groupchat(Messenger *_Nonnull m, const int friendcon_id, const uint8_t *_Nonnull data, const uint16_t data_length, void *_Nullable userdata)
|
||||
{
|
||||
// first two bytes are messenger packet type and group invite type
|
||||
if (data_length < 2 + GC_JOIN_DATA_LENGTH) {
|
||||
@@ -2309,11 +2253,9 @@ static int m_handle_packet_invite_groupchat(Messenger *m, const int friendcon_id
|
||||
return 0;
|
||||
}
|
||||
|
||||
non_null(1, 3) nullable(5)
|
||||
static int m_handle_packet(void *object, int friendcon_id, const uint8_t *data, uint16_t length, void *userdata)
|
||||
static int m_handle_packet(void *_Nonnull object, int friendcon_id, const uint8_t *_Nonnull data, uint16_t length, void *_Nullable userdata)
|
||||
{
|
||||
Messenger *m = (Messenger *)object;
|
||||
|
||||
if (length == 0) {
|
||||
return -1;
|
||||
}
|
||||
@@ -2364,11 +2306,9 @@ static int m_handle_packet(void *object, int friendcon_id, const uint8_t *data,
|
||||
return handle_custom_lossless_packet(object, friendcon_id, data, length, userdata);
|
||||
}
|
||||
|
||||
non_null(1) nullable(2)
|
||||
static void do_friends(Messenger *m, void *userdata)
|
||||
static void do_friends(Messenger *_Nonnull m, void *_Nullable userdata)
|
||||
{
|
||||
const uint64_t temp_time = mono_time_get(m->mono_time);
|
||||
|
||||
for (uint32_t i = 0; i < m->numfriends; ++i) {
|
||||
if (m->friendlist[i].status == FRIEND_ADDED) {
|
||||
const int fr = send_friend_request_packet(m->fr_c, m->friendlist[i].friendcon_id, m->friendlist[i].friendrequest_nospam,
|
||||
@@ -2423,11 +2363,9 @@ static void do_friends(Messenger *m, void *userdata)
|
||||
}
|
||||
}
|
||||
|
||||
non_null(1) nullable(2)
|
||||
static void m_connection_status_callback(Messenger *m, void *userdata)
|
||||
static void m_connection_status_callback(Messenger *_Nonnull m, void *_Nullable userdata)
|
||||
{
|
||||
const Onion_Connection_Status conn_status = onion_connection_status(m->onion_c);
|
||||
|
||||
if (conn_status != m->last_connection_status) {
|
||||
if (m->core_connection_change != nullptr) {
|
||||
m->core_connection_change(m, conn_status, userdata);
|
||||
@@ -2441,8 +2379,7 @@ static void m_connection_status_callback(Messenger *m, void *userdata)
|
||||
|
||||
#define IDSTRING_LEN (CRYPTO_PUBLIC_KEY_SIZE * 2 + 1)
|
||||
/** id_str should be of length at least IDSTRING_LEN */
|
||||
non_null()
|
||||
static char *id_to_string(const uint8_t *pk, char *id_str, size_t length)
|
||||
static char *id_to_string(const uint8_t *_Nonnull pk, char *_Nonnull id_str, size_t length)
|
||||
{
|
||||
if (length < IDSTRING_LEN) {
|
||||
snprintf(id_str, length, "Bad buf length");
|
||||
@@ -2484,8 +2421,7 @@ uint32_t messenger_run_interval(const Messenger *m)
|
||||
*
|
||||
* @retval true if success.
|
||||
*/
|
||||
non_null()
|
||||
static bool self_announce_group(const Messenger *m, GC_Chat *chat, Onion_Friend *onion_friend)
|
||||
static bool self_announce_group(const Messenger *_Nonnull m, GC_Chat *_Nonnull chat, Onion_Friend *_Nonnull onion_friend)
|
||||
{
|
||||
GC_Public_Announce announce = {{{{{0}}}}};
|
||||
|
||||
@@ -2531,13 +2467,12 @@ static bool self_announce_group(const Messenger *m, GC_Chat *chat, Onion_Friend
|
||||
memzero(chat->announced_tcp_relay_pk, sizeof(chat->announced_tcp_relay_pk));
|
||||
}
|
||||
|
||||
LOGGER_DEBUG(chat->log, "Published group announce. TCP relays: %d, UDP status: %d", tcp_num,
|
||||
LOGGER_DEBUG(chat->log, "Published group announce. TCP relays: %d, UDP status: %u", tcp_num,
|
||||
chat->self_udp_status);
|
||||
return true;
|
||||
}
|
||||
|
||||
non_null()
|
||||
static void do_gc_onion_friends(const Messenger *m)
|
||||
static void do_gc_onion_friends(const Messenger *_Nonnull m)
|
||||
{
|
||||
const uint16_t num_friends = onion_get_friend_count(m->onion_c);
|
||||
|
||||
@@ -2668,7 +2603,7 @@ void do_messenger(Messenger *m, void *userdata)
|
||||
|
||||
if (msgfptr != nullptr) {
|
||||
char id_str[IDSTRING_LEN];
|
||||
LOGGER_TRACE(m->log, "F[%2u:%2u] <%s> %s",
|
||||
LOGGER_TRACE(m->log, "F[%2d:%2u] <%s> %s",
|
||||
dht2m[friend_idx], friend_idx, msgfptr->name,
|
||||
id_to_string(msgfptr->real_pk, id_str, sizeof(id_str)));
|
||||
} else {
|
||||
@@ -2759,8 +2694,7 @@ static uint32_t friend_size(void)
|
||||
return data;
|
||||
}
|
||||
|
||||
non_null()
|
||||
static uint8_t *friend_save(const struct Saved_Friend *temp, uint8_t *data)
|
||||
static uint8_t *friend_save(const struct Saved_Friend *_Nonnull temp, uint8_t *_Nonnull data)
|
||||
{
|
||||
#define VALUE_MEMBER(data, name) \
|
||||
do { \
|
||||
@@ -2796,8 +2730,7 @@ static uint8_t *friend_save(const struct Saved_Friend *temp, uint8_t *data)
|
||||
return data;
|
||||
}
|
||||
|
||||
non_null()
|
||||
static const uint8_t *friend_load(struct Saved_Friend *temp, const uint8_t *data)
|
||||
static const uint8_t *friend_load(struct Saved_Friend *_Nonnull temp, const uint8_t *_Nonnull data)
|
||||
{
|
||||
#define VALUE_MEMBER(data, name) \
|
||||
do { \
|
||||
@@ -2833,8 +2766,7 @@ static const uint8_t *friend_load(struct Saved_Friend *temp, const uint8_t *data
|
||||
return data;
|
||||
}
|
||||
|
||||
non_null()
|
||||
static uint32_t m_state_plugins_size(const Messenger *m)
|
||||
static uint32_t m_state_plugins_size(const Messenger *_Nonnull m)
|
||||
{
|
||||
const uint32_t size32 = sizeof(uint32_t);
|
||||
const uint32_t sizesubhead = size32 * 2;
|
||||
@@ -2879,8 +2811,7 @@ bool m_register_state_plugin(Messenger *m, State_Type type, m_state_size_cb *siz
|
||||
return true;
|
||||
}
|
||||
|
||||
non_null()
|
||||
static uint32_t m_plugin_size(const Messenger *m, State_Type type)
|
||||
static uint32_t m_plugin_size(const Messenger *_Nonnull m, State_Type type)
|
||||
{
|
||||
for (uint8_t i = 0; i < m->options.state_plugins_length; ++i) {
|
||||
const Messenger_State_Plugin plugin = m->options.state_plugins[i];
|
||||
@@ -2913,14 +2844,12 @@ uint8_t *messenger_save(const Messenger *m, uint8_t *data)
|
||||
}
|
||||
|
||||
// nospam state plugin
|
||||
non_null()
|
||||
static uint32_t nospam_keys_size(const Messenger *m)
|
||||
static uint32_t nospam_keys_size(const Messenger *_Nonnull m)
|
||||
{
|
||||
return sizeof(uint32_t) + CRYPTO_PUBLIC_KEY_SIZE + CRYPTO_SECRET_KEY_SIZE;
|
||||
}
|
||||
|
||||
non_null()
|
||||
static State_Load_Status load_nospam_keys(Messenger *m, const uint8_t *data, uint32_t length)
|
||||
static State_Load_Status load_nospam_keys(Messenger *_Nonnull m, const uint8_t *_Nonnull data, uint32_t length)
|
||||
{
|
||||
if (length != m_plugin_size(m, STATE_TYPE_NOSPAMKEYS)) {
|
||||
return STATE_LOAD_STATUS_ERROR;
|
||||
@@ -2939,8 +2868,7 @@ static State_Load_Status load_nospam_keys(Messenger *m, const uint8_t *data, uin
|
||||
return STATE_LOAD_STATUS_CONTINUE;
|
||||
}
|
||||
|
||||
non_null()
|
||||
static uint8_t *save_nospam_keys(const Messenger *m, uint8_t *data)
|
||||
static uint8_t *save_nospam_keys(const Messenger *_Nonnull m, uint8_t *_Nonnull data)
|
||||
{
|
||||
const uint32_t len = m_plugin_size(m, STATE_TYPE_NOSPAMKEYS);
|
||||
static_assert(sizeof(get_nospam(m->fr)) == sizeof(uint32_t), "nospam doesn't fit in a 32 bit int");
|
||||
@@ -2953,14 +2881,12 @@ static uint8_t *save_nospam_keys(const Messenger *m, uint8_t *data)
|
||||
}
|
||||
|
||||
// DHT state plugin
|
||||
non_null()
|
||||
static uint32_t m_dht_size(const Messenger *m)
|
||||
static uint32_t m_dht_size(const Messenger *_Nonnull m)
|
||||
{
|
||||
return dht_size(m->dht);
|
||||
}
|
||||
|
||||
non_null()
|
||||
static uint8_t *save_dht(const Messenger *m, uint8_t *data)
|
||||
static uint8_t *save_dht(const Messenger *_Nonnull m, uint8_t *_Nonnull data)
|
||||
{
|
||||
const uint32_t len = m_plugin_size(m, STATE_TYPE_DHT);
|
||||
data = state_write_section_header(data, STATE_COOKIE_TYPE, len, STATE_TYPE_DHT);
|
||||
@@ -2969,22 +2895,19 @@ static uint8_t *save_dht(const Messenger *m, uint8_t *data)
|
||||
return data;
|
||||
}
|
||||
|
||||
non_null()
|
||||
static State_Load_Status m_dht_load(Messenger *m, const uint8_t *data, uint32_t length)
|
||||
static State_Load_Status m_dht_load(Messenger *_Nonnull m, const uint8_t *_Nonnull data, uint32_t length)
|
||||
{
|
||||
dht_load(m->dht, data, length); // TODO(endoffile78): Should we throw an error if dht_load fails?
|
||||
return STATE_LOAD_STATUS_CONTINUE;
|
||||
}
|
||||
|
||||
// friendlist state plugin
|
||||
non_null()
|
||||
static uint32_t saved_friendslist_size(const Messenger *m)
|
||||
static uint32_t saved_friendslist_size(const Messenger *_Nonnull m)
|
||||
{
|
||||
return count_friendlist(m) * friend_size();
|
||||
}
|
||||
|
||||
non_null()
|
||||
static uint8_t *friends_list_save(const Messenger *m, uint8_t *data)
|
||||
static uint8_t *friends_list_save(const Messenger *_Nonnull m, uint8_t *_Nonnull data)
|
||||
{
|
||||
const uint32_t len = m_plugin_size(m, STATE_TYPE_FRIENDS);
|
||||
data = state_write_section_header(data, STATE_COOKIE_TYPE, len, STATE_TYPE_FRIENDS);
|
||||
@@ -3034,8 +2957,7 @@ static uint8_t *friends_list_save(const Messenger *m, uint8_t *data)
|
||||
return data;
|
||||
}
|
||||
|
||||
non_null()
|
||||
static State_Load_Status friends_list_load(Messenger *m, const uint8_t *data, uint32_t length)
|
||||
static State_Load_Status friends_list_load(Messenger *_Nonnull m, const uint8_t *_Nonnull data, uint32_t length)
|
||||
{
|
||||
const uint32_t l_friend_size = friend_size();
|
||||
|
||||
@@ -3078,8 +3000,7 @@ static State_Load_Status friends_list_load(Messenger *m, const uint8_t *data, ui
|
||||
return STATE_LOAD_STATUS_CONTINUE;
|
||||
}
|
||||
|
||||
non_null()
|
||||
static void pack_groupchats(const GC_Session *c, Bin_Pack *bp)
|
||||
static void pack_groupchats(const GC_Session *_Nonnull c, Bin_Pack *_Nonnull bp)
|
||||
{
|
||||
assert(bp != nullptr && c != nullptr);
|
||||
bin_pack_array(bp, gc_count_groups(c));
|
||||
@@ -3095,23 +3016,20 @@ static void pack_groupchats(const GC_Session *c, Bin_Pack *bp)
|
||||
}
|
||||
}
|
||||
|
||||
non_null()
|
||||
static bool pack_groupchats_handler(const void *obj, const Logger *logger, Bin_Pack *bp)
|
||||
static bool pack_groupchats_handler(const void *_Nonnull obj, const Logger *_Nonnull logger, Bin_Pack *_Nonnull bp)
|
||||
{
|
||||
const GC_Session *session = (const GC_Session *)obj;
|
||||
pack_groupchats(session, bp);
|
||||
return true; // TODO(iphydf): Return bool from pack functions.
|
||||
}
|
||||
|
||||
non_null()
|
||||
static uint32_t saved_groups_size(const Messenger *m)
|
||||
static uint32_t saved_groups_size(const Messenger *_Nonnull m)
|
||||
{
|
||||
const GC_Session *session = m->group_handler;
|
||||
return bin_pack_obj_size(pack_groupchats_handler, session, m->log);
|
||||
}
|
||||
|
||||
non_null()
|
||||
static uint8_t *groups_save(const Messenger *m, uint8_t *data)
|
||||
static uint8_t *groups_save(const Messenger *_Nonnull m, uint8_t *_Nonnull data)
|
||||
{
|
||||
const GC_Session *c = m->group_handler;
|
||||
|
||||
@@ -3141,8 +3059,7 @@ static uint8_t *groups_save(const Messenger *m, uint8_t *data)
|
||||
return data;
|
||||
}
|
||||
|
||||
non_null()
|
||||
static bool handle_groups_load(void *obj, Bin_Unpack *bu)
|
||||
static bool handle_groups_load(void *_Nonnull obj, Bin_Unpack *_Nonnull bu)
|
||||
{
|
||||
Messenger *m = (Messenger *)obj;
|
||||
|
||||
@@ -3169,8 +3086,7 @@ static bool handle_groups_load(void *obj, Bin_Unpack *bu)
|
||||
return true;
|
||||
}
|
||||
|
||||
non_null()
|
||||
static State_Load_Status groups_load(Messenger *m, const uint8_t *data, uint32_t length)
|
||||
static State_Load_Status groups_load(Messenger *_Nonnull m, const uint8_t *_Nonnull data, uint32_t length)
|
||||
{
|
||||
if (!bin_unpack_obj(m->mem, handle_groups_load, m, data, length)) {
|
||||
LOGGER_ERROR(m->log, "msgpack failed to unpack groupchats array");
|
||||
@@ -3181,14 +3097,12 @@ static State_Load_Status groups_load(Messenger *m, const uint8_t *data, uint32_t
|
||||
}
|
||||
|
||||
// name state plugin
|
||||
non_null()
|
||||
static uint32_t name_size(const Messenger *m)
|
||||
static uint32_t name_size(const Messenger *_Nonnull m)
|
||||
{
|
||||
return m->name_length;
|
||||
}
|
||||
|
||||
non_null()
|
||||
static uint8_t *save_name(const Messenger *m, uint8_t *data)
|
||||
static uint8_t *save_name(const Messenger *_Nonnull m, uint8_t *_Nonnull data)
|
||||
{
|
||||
const uint32_t len = m_plugin_size(m, STATE_TYPE_NAME);
|
||||
data = state_write_section_header(data, STATE_COOKIE_TYPE, len, STATE_TYPE_NAME);
|
||||
@@ -3197,8 +3111,7 @@ static uint8_t *save_name(const Messenger *m, uint8_t *data)
|
||||
return data;
|
||||
}
|
||||
|
||||
non_null()
|
||||
static State_Load_Status load_name(Messenger *m, const uint8_t *data, uint32_t length)
|
||||
static State_Load_Status load_name(Messenger *_Nonnull m, const uint8_t *_Nonnull data, uint32_t length)
|
||||
{
|
||||
if (length > 0 && length <= MAX_NAME_LENGTH) {
|
||||
setname(m, data, length);
|
||||
@@ -3208,14 +3121,12 @@ static State_Load_Status load_name(Messenger *m, const uint8_t *data, uint32_t l
|
||||
}
|
||||
|
||||
// status message state plugin
|
||||
non_null()
|
||||
static uint32_t status_message_size(const Messenger *m)
|
||||
static uint32_t status_message_size(const Messenger *_Nonnull m)
|
||||
{
|
||||
return m->statusmessage_length;
|
||||
}
|
||||
|
||||
non_null()
|
||||
static uint8_t *save_status_message(const Messenger *m, uint8_t *data)
|
||||
static uint8_t *save_status_message(const Messenger *_Nonnull m, uint8_t *_Nonnull data)
|
||||
{
|
||||
const uint32_t len = m_plugin_size(m, STATE_TYPE_STATUSMESSAGE);
|
||||
data = state_write_section_header(data, STATE_COOKIE_TYPE, len, STATE_TYPE_STATUSMESSAGE);
|
||||
@@ -3224,8 +3135,7 @@ static uint8_t *save_status_message(const Messenger *m, uint8_t *data)
|
||||
return data;
|
||||
}
|
||||
|
||||
non_null()
|
||||
static State_Load_Status load_status_message(Messenger *m, const uint8_t *data, uint32_t length)
|
||||
static State_Load_Status load_status_message(Messenger *_Nonnull m, const uint8_t *_Nonnull data, uint32_t length)
|
||||
{
|
||||
if (length > 0 && length <= MAX_STATUSMESSAGE_LENGTH) {
|
||||
m_set_statusmessage(m, data, length);
|
||||
@@ -3235,14 +3145,12 @@ static State_Load_Status load_status_message(Messenger *m, const uint8_t *data,
|
||||
}
|
||||
|
||||
// status state plugin
|
||||
non_null()
|
||||
static uint32_t status_size(const Messenger *m)
|
||||
static uint32_t status_size(const Messenger *_Nonnull m)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
non_null()
|
||||
static uint8_t *save_status(const Messenger *m, uint8_t *data)
|
||||
static uint8_t *save_status(const Messenger *_Nonnull m, uint8_t *_Nonnull data)
|
||||
{
|
||||
const uint32_t len = m_plugin_size(m, STATE_TYPE_STATUS);
|
||||
data = state_write_section_header(data, STATE_COOKIE_TYPE, len, STATE_TYPE_STATUS);
|
||||
@@ -3251,8 +3159,7 @@ static uint8_t *save_status(const Messenger *m, uint8_t *data)
|
||||
return data;
|
||||
}
|
||||
|
||||
non_null()
|
||||
static State_Load_Status load_status(Messenger *m, const uint8_t *data, uint32_t length)
|
||||
static State_Load_Status load_status(Messenger *_Nonnull m, const uint8_t *_Nonnull data, uint32_t length)
|
||||
{
|
||||
if (length == 1) {
|
||||
m_set_userstatus(m, *data);
|
||||
@@ -3262,14 +3169,12 @@ static State_Load_Status load_status(Messenger *m, const uint8_t *data, uint32_t
|
||||
}
|
||||
|
||||
// TCP Relay state plugin
|
||||
non_null()
|
||||
static uint32_t tcp_relay_size(const Messenger *m)
|
||||
static uint32_t tcp_relay_size(const Messenger *_Nonnull m)
|
||||
{
|
||||
return NUM_SAVED_TCP_RELAYS * packed_node_size(net_family_tcp_ipv6());
|
||||
}
|
||||
|
||||
non_null()
|
||||
static uint8_t *save_tcp_relays(const Messenger *m, uint8_t *data)
|
||||
static uint8_t *save_tcp_relays(const Messenger *_Nonnull m, uint8_t *_Nonnull data)
|
||||
{
|
||||
Node_format relays[NUM_SAVED_TCP_RELAYS] = {{{0}}};
|
||||
uint8_t *temp_data = data;
|
||||
@@ -3293,8 +3198,7 @@ static uint8_t *save_tcp_relays(const Messenger *m, uint8_t *data)
|
||||
return data;
|
||||
}
|
||||
|
||||
non_null()
|
||||
static State_Load_Status load_tcp_relays(Messenger *m, const uint8_t *data, uint32_t length)
|
||||
static State_Load_Status load_tcp_relays(Messenger *_Nonnull m, const uint8_t *_Nonnull data, uint32_t length)
|
||||
{
|
||||
if (length > 0) {
|
||||
const int num = unpack_nodes(m->loaded_relays, NUM_SAVED_TCP_RELAYS, nullptr, data, length, true);
|
||||
@@ -3312,14 +3216,12 @@ static State_Load_Status load_tcp_relays(Messenger *m, const uint8_t *data, uint
|
||||
}
|
||||
|
||||
// path node state plugin
|
||||
non_null()
|
||||
static uint32_t path_node_size(const Messenger *m)
|
||||
static uint32_t path_node_size(const Messenger *_Nonnull m)
|
||||
{
|
||||
return NUM_SAVED_PATH_NODES * packed_node_size(net_family_tcp_ipv6());
|
||||
}
|
||||
|
||||
non_null()
|
||||
static uint8_t *save_path_nodes(const Messenger *m, uint8_t *data)
|
||||
static uint8_t *save_path_nodes(const Messenger *_Nonnull m, uint8_t *_Nonnull data)
|
||||
{
|
||||
Node_format nodes[NUM_SAVED_PATH_NODES] = {{{0}}};
|
||||
uint8_t *temp_data = data;
|
||||
@@ -3336,8 +3238,7 @@ static uint8_t *save_path_nodes(const Messenger *m, uint8_t *data)
|
||||
return data;
|
||||
}
|
||||
|
||||
non_null()
|
||||
static State_Load_Status load_path_nodes(Messenger *m, const uint8_t *data, uint32_t length)
|
||||
static State_Load_Status load_path_nodes(Messenger *_Nonnull m, const uint8_t *_Nonnull data, uint32_t length)
|
||||
{
|
||||
if (length > 0) {
|
||||
Node_format nodes[NUM_SAVED_PATH_NODES];
|
||||
@@ -3355,8 +3256,7 @@ static State_Load_Status load_path_nodes(Messenger *m, const uint8_t *data, uint
|
||||
return STATE_LOAD_STATUS_CONTINUE;
|
||||
}
|
||||
|
||||
non_null()
|
||||
static void m_register_default_plugins(Messenger *m)
|
||||
static void m_register_default_plugins(Messenger *_Nonnull m)
|
||||
{
|
||||
m_register_state_plugin(m, STATE_TYPE_NOSPAMKEYS, nospam_keys_size, load_nospam_keys, save_nospam_keys);
|
||||
m_register_state_plugin(m, STATE_TYPE_DHT, m_dht_size, m_dht_load, save_dht);
|
||||
@@ -3411,7 +3311,7 @@ uint32_t count_friendlist(const Messenger *m)
|
||||
* If the array was too small, the contents
|
||||
* of out_list will be truncated to list_size.
|
||||
*/
|
||||
uint32_t copy_friendlist(Messenger const *m, uint32_t *out_list, uint32_t list_size)
|
||||
uint32_t copy_friendlist(const Messenger *m, uint32_t *out_list, uint32_t list_size)
|
||||
{
|
||||
if (out_list == nullptr) {
|
||||
return 0;
|
||||
@@ -3438,9 +3338,8 @@ uint32_t copy_friendlist(Messenger const *m, uint32_t *out_list, uint32_t list_s
|
||||
}
|
||||
|
||||
static fr_friend_request_cb m_handle_friend_request;
|
||||
non_null(1, 2, 3) nullable(5)
|
||||
static void m_handle_friend_request(
|
||||
void *object, const uint8_t *public_key, const uint8_t *message, size_t length, void *user_data)
|
||||
void *_Nonnull object, const uint8_t *_Nonnull public_key, const uint8_t *_Nonnull message, size_t length, void *_Nullable user_data)
|
||||
{
|
||||
Messenger *m = (Messenger *)object;
|
||||
assert(m != nullptr);
|
||||
|
Reference in New Issue
Block a user