Squashed 'external/toxcore/c-toxcore/' changes from 67badf694..82460b212

82460b212 feat: add ngc events
24b54722a fix: Ensure we have allocators available for the error paths.
48dbcfebc cleanup: Remove redundant `-DSODIUM_EXPORT` from definitions.
0cef46ee9 cleanup: Fix a few more clang-tidy warnings.
0c5b918e9 cleanup: Fix a few more clang-tidy warnings.
4d3c97f49 cleanup: Enforce stricter identifier naming using clang-tidy.
a549807df refactor: Add `mem` module to allow tests to override allocators.
6133fb153 chore: Add devcontainer setup for codespaces.
620e07ecd chore: Set a timeout for tests started using Conan
c0ec33b16 chore: Migrate Windows CI from Appveyor to Azure DevOps
8ed47f3ef fix incorrect documentation
a1e245841 docs: Fix doxygen config and remove some redundant comments.
b0f633185 chore: Fix the Android CI job
7469a529b fix: Add missing `#include <array>`.
2b1a6b0d2 add missing ngc constants getter declarations and definitions
2e02d5637 chore: Add missing module dependencies.
REVERT: 67badf694 feat: add ngc events

git-subtree-dir: external/toxcore/c-toxcore
git-subtree-split: 82460b2124216af1ac9d63060de310a682a2fd15
This commit is contained in:
2023-10-10 19:37:39 +02:00
parent 227425b90e
commit a3126d581b
114 changed files with 2090 additions and 1653 deletions

View File

@ -4,6 +4,7 @@
#include "tox_events.h"
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@ -11,7 +12,9 @@
#include "bin_unpack.h"
#include "ccompat.h"
#include "events/events_alloc.h"
#include "mem.h"
#include "tox.h"
#include "tox_private.h"
/*****************************************************
@ -339,7 +342,7 @@ void tox_events_get_bytes(const Tox_Events *events, uint8_t *bytes)
bin_pack_obj(tox_events_bin_pack_handler, events, bytes, UINT32_MAX);
}
Tox_Events *tox_events_load(const uint8_t *bytes, uint32_t bytes_size)
Tox_Events *tox_events_load(const Tox_System *sys, const uint8_t *bytes, uint32_t bytes_size)
{
Bin_Unpack *bu = bin_unpack_new(bytes, bytes_size);
@ -347,7 +350,7 @@ Tox_Events *tox_events_load(const uint8_t *bytes, uint32_t bytes_size)
return nullptr;
}
Tox_Events *events = (Tox_Events *)calloc(1, sizeof(Tox_Events));
Tox_Events *events = (Tox_Events *)mem_alloc(sys->mem, sizeof(Tox_Events));
if (events == nullptr) {
bin_unpack_free(bu);
@ -368,8 +371,11 @@ Tox_Events *tox_events_load(const uint8_t *bytes, uint32_t bytes_size)
return events;
}
bool tox_events_equal(const Tox_Events *a, const Tox_Events *b)
bool tox_events_equal(const Tox_System *sys, const Tox_Events *a, const Tox_Events *b)
{
assert(sys != nullptr);
assert(sys->mem != nullptr);
const uint32_t a_size = tox_events_bytes_size(a);
const uint32_t b_size = tox_events_bytes_size(b);
@ -377,12 +383,12 @@ bool tox_events_equal(const Tox_Events *a, const Tox_Events *b)
return false;
}
uint8_t *a_bytes = (uint8_t *)malloc(a_size);
uint8_t *b_bytes = (uint8_t *)malloc(b_size);
uint8_t *a_bytes = (uint8_t *)mem_balloc(sys->mem, a_size);
uint8_t *b_bytes = (uint8_t *)mem_balloc(sys->mem, b_size);
if (a_bytes == nullptr || b_bytes == nullptr) {
free(b_bytes);
free(a_bytes);
mem_delete(sys->mem, b_bytes);
mem_delete(sys->mem, a_bytes);
return false;
}
@ -391,8 +397,8 @@ bool tox_events_equal(const Tox_Events *a, const Tox_Events *b)
const bool ret = memcmp(a_bytes, b_bytes, a_size) == 0;
free(b_bytes);
free(a_bytes);
mem_delete(sys->mem, b_bytes);
mem_delete(sys->mem, a_bytes);
return ret;
}