|
|
| version 1.1.1.1.2.9, 2012/04/27 08:12:30 | version 1.1.1.1.2.11, 2012/04/27 16:17:11 |
|---|---|
| Line 387 mqtt_subRealloc(mqtt_subscr_t ** __restrict subs, u_sh | Line 387 mqtt_subRealloc(mqtt_subscr_t ** __restrict subs, u_sh |
| } | } |
| /* | /* |
| * mqtt_subCopy() - Copy subscription structure to another one | |
| * | |
| * @dst = destination subscription | |
| * @src = source subscription | |
| * return: =NULL error or !=NULL successful copied a structure | |
| */ | |
| inline mqtt_subscr_t * | |
| mqtt_subCopy(mqtt_subscr_t * __restrict dst, mqtt_subscr_t * __restrict src) | |
| { | |
| if (!dst || !src) | |
| return NULL; | |
| if (src->sub_topic.msg_base) { | |
| dst->sub_topic.msg_base = malloc(src->sub_topic.msg_len + 1); | |
| if (!dst->sub_topic.msg_base) { | |
| LOGERR; | |
| memset(dst, 0, sizeof(mqtt_subscr_t)); | |
| return NULL; | |
| } else { | |
| dst->sub_topic.msg_len = src->sub_topic.msg_len; | |
| ((char*) dst->sub_topic.msg_base)[dst->sub_topic.msg_len] = 0; | |
| memcpy(dst->sub_topic.msg_base, src->sub_topic.msg_base, | |
| dst->sub_topic.msg_len); | |
| } | |
| } | |
| if (src->sub_value.msg_base) { | |
| dst->sub_value.msg_base = malloc(src->sub_value.msg_len + 1); | |
| if (!dst->sub_value.msg_base) { | |
| LOGERR; | |
| if (dst->sub_topic.msg_base) | |
| free(dst->sub_topic.msg_base); | |
| memset(dst, 0, sizeof(mqtt_subscr_t)); | |
| return NULL; | |
| } else { | |
| dst->sub_value.msg_len = src->sub_value.msg_len; | |
| ((char*) dst->sub_value.msg_base)[dst->sub_value.msg_len] = 0; | |
| memcpy(dst->sub_value.msg_base, src->sub_value.msg_base, | |
| dst->sub_value.msg_len); | |
| } | |
| } | |
| dst->sub_ret = src->sub_ret; | |
| return dst; | |
| } | |
| /* | |
| * mqtt_expandTopic() - Expanding topic to regular expression | * mqtt_expandTopic() - Expanding topic to regular expression |
| * | * |
| * @csInput = Input topic | * @csInput = Input topic |