From: Alan T. DeKok Date: Wed, 24 May 2017 14:33:08 +0000 (-0400) Subject: expose fr_ptr_to_type X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4ef68f0ec80637b4f00d1fb232dd2c5b80f65152;p=thirdparty%2Ffreeradius-server.git expose fr_ptr_to_type --- diff --git a/src/lib/io/time.h b/src/lib/io/time.h index 7d1d573ef3f..90e3a23948b 100644 --- a/src/lib/io/time.h +++ b/src/lib/io/time.h @@ -129,6 +129,11 @@ void fr_time_tracking_yield(fr_time_tracking_t *tt, fr_time_t when, fr_time_trac void fr_time_tracking_resume(fr_time_tracking_t *tt, fr_time_t when) CC_HINT(nonnull); void fr_time_tracking_debug(fr_time_tracking_t *tt, FILE *fp) CC_HINT(nonnull); +/** Convert a pointer to a member into a pointer to the parent structure. + * + */ +#define fr_ptr_to_type(TYPE, MEMBER, PTR) (TYPE *) (((char *)PTR) - offsetof(TYPE, MEMBER)) + #ifdef __cplusplus } #endif diff --git a/src/lib/io/worker.c b/src/lib/io/worker.c index 45872c31958..3c5d8f227b3 100644 --- a/src/lib/io/worker.c +++ b/src/lib/io/worker.c @@ -470,8 +470,6 @@ static void fr_worker_send_reply(fr_worker_t *worker, REQUEST *request, size_t s } -#define fr_ptr_to_type(TYPE, MEMBER, PTR) (TYPE *) (((char *)PTR) - offsetof(TYPE, MEMBER)) - /** Check timeouts on the various queues * * This function checks and enforces timeouts on the multiple worker