--- mqtt/src/Attic/recv.c 2011/11/22 14:49:07 1.1 +++ mqtt/src/Attic/recv.c 2011/11/22 14:49:07 1.1.2.1 @@ -0,0 +1,43 @@ +#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; +}