From 41dec6436242c4daccdd9fdee3ac052004c439bd Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Mon, 16 Mar 2026 21:09:38 +0000 Subject: Refactor ftrig using sass; clean up API a bit, update its users --- src/libs6/ftrigr_unsubscribe.c | 37 +++++++++++-------------------------- 1 file changed, 11 insertions(+), 26 deletions(-) (limited to 'src/libs6/ftrigr_unsubscribe.c') diff --git a/src/libs6/ftrigr_unsubscribe.c b/src/libs6/ftrigr_unsubscribe.c index 8a716d5..9aa5595 100644 --- a/src/libs6/ftrigr_unsubscribe.c +++ b/src/libs6/ftrigr_unsubscribe.c @@ -1,33 +1,18 @@ /* ISC license. */ #include -#include -#include -#include -#include + +#include + #include +#include "ftrigr-internal.h" -int ftrigr_unsubscribe (ftrigr_t *a, uint16_t i, tain const *deadline, tain *stamp) +int ftrigr_unsubscribe (ftrigr *a, uint32_t id, tain const *deadline, tain *stamp) { - ftrigr1_t *p ; - char pack[3] = "--U" ; - if (!i--) return (errno = EINVAL, 0) ; - p = GENSETDYN_P(ftrigr1_t, &a->data, i) ; - if (!p) return (errno = EINVAL, 0) ; - switch (p->state) - { - case FR1STATE_WAITACK : - case FR1STATE_WAITACKDATA : - { - char dummy ; - ftrigr_check(a, i+1, &dummy) ; - return 1 ; - } - default : break ; - } - uint16_pack_big(pack, i) ; - if (!textclient_command(&a->connection, pack, 3, deadline, stamp)) return 0 ; - stralloc_free(&p->what) ; - *p = ftrigr1_zero ; - return gensetdyn_delete(&a->data, i) ; + ftrigr_data *p ; + if (!sassclient_cancel(&a->client, id, deadline, stamp)) return 0 ; + p = genalloc_s(ftrigr_data, &a->data) + id ; + p->sa.len = 0 ; + p->status = EINVAL ; + return 1 ; } -- cgit v1.3.1