From 064ffe58756f1adbd1917689ea79db95756d535e Mon Sep 17 00:00:00 2001 From: iphydf Date: Wed, 25 Jul 2018 06:54:04 +0000 Subject: Make a separate `struct Tox` containing the Messenger. This allows Tox to contain additional data on top of Messenger, making Messenger not necessarily the most top-level object. E.g. groups are built on Messenger and currently awkwardly void-pointered into it to pretend there is no cyclic dependency. --- toxav/toxav.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'toxav/toxav.c') diff --git a/toxav/toxav.c b/toxav/toxav.c index 57d14942..f26834b1 100644 --- a/toxav/toxav.c +++ b/toxav/toxav.c @@ -123,13 +123,16 @@ ToxAV *toxav_new(Tox *tox, TOXAV_ERR_NEW *error) { TOXAV_ERR_NEW rc = TOXAV_ERR_NEW_OK; ToxAV *av = nullptr; - Messenger *m = (Messenger *)tox; if (tox == nullptr) { rc = TOXAV_ERR_NEW_NULL; goto END; } + // TODO(iphydf): Don't rely on toxcore internals. + Messenger *m; + m = *(Messenger **)tox; + if (m->msi_packet) { rc = TOXAV_ERR_NEW_MULTIPLE; goto END; -- cgit v1.2.3