#include "global.h"
/* ------------------------------------------------------------------- */
/*
* mqttInitCallbacks() Init callback array for dispatcher
*
* return: NULL error or !=NULL allocated callback array, after use free with mqttFiniCallbacks()
*/
mqtt_cb_t *
mqttInitCallbacks(void)
{
mqtt_cb_t *cb = NULL;
cb = malloc((MQTT_TYPE_MAX + 1) * sizeof(mqtt_cb_t));
if (!cb) {
LOGERR;
return NULL;
} else
memset(cb, 0, (MQTT_TYPE_MAX + 1) * sizeof(mqtt_cb_t));
return cb;
}
/*
* mqttFiniCallbacks() Free callback array
*
* @cb = Callback array
* return: none
*/
void
mqttFiniCallbacks(mqtt_cb_t ** __restrict cb)
{
if (!cb)
return;
if ((*cb)[MQTT_TYPE_MAX])
(*cb)[MQTT_TYPE_MAX](*cb);
free(*cb);
*cb = NULL;
}
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>