libgnunetchat

library for GNUnet Messenger
Log | Files | Refs | README | LICENSE

commit 61d5770feef45b56a311461ececfa407f4e409e3
parent 15e55e5dc11a3c0c4ae5c221607156a021a1fdce
Author: Jacki <jacki@thejackimonster.de>
Date:   Sun, 16 Jun 2024 17:24:59 +0200

Fix iteration of discourse contacts

Signed-off-by: Jacki <jacki@thejackimonster.de>

Diffstat:
Msrc/gnunet_chat_discourse.c | 11++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/src/gnunet_chat_discourse.c b/src/gnunet_chat_discourse.c @@ -79,7 +79,12 @@ discourse_subscribe (struct GNUNET_CHAT_Discourse *discourse, { GNUNET_assert((discourse) && (contact)); - if (GNUNET_TIME_absolute_cmp(timestamp, <, GNUNET_TIME_absolute_get())) + const struct GNUNET_TIME_Absolute end = GNUNET_TIME_absolute_add( + timestamp, + time + ); + + if (GNUNET_TIME_absolute_cmp(end, <, GNUNET_TIME_absolute_get())) return; struct GNUNET_CHAT_DiscourseSubscription *sub; @@ -107,10 +112,10 @@ discourse_subscribe (struct GNUNET_CHAT_Discourse *discourse, GNUNET_SCHEDULER_cancel(sub->task); sub->start = timestamp; - sub->end = GNUNET_TIME_absolute_add(timestamp, time); + sub->end = end; sub->task = GNUNET_SCHEDULER_add_at( - sub->end, + end, discourse_remove_subscription, sub );