--- mqtt/src/Attic/aitmqtt.c 2011/11/07 13:58:27 1.1.1.1.2.2 +++ mqtt/src/Attic/aitmqtt.c 2011/11/07 16:55:46 1.1.1.1.2.3 @@ -113,3 +113,28 @@ mqtt_sizeLen(u_int len) return ++i; } + +/* + * mqtt_str2var Create MQTT variable from string + * @csStr = string + * @strLen = string length + * return: NULL error or != ok variable, must be free after use! + */ +inline mqtthdr_var_t * +mqtt_str2var(const u_char *csStr, u_short strLen) +{ + mqtthdr_var_t *v; + + if (!csStr) + return NULL; + if (!(v = malloc(strLen + sizeof(mqtthdr_var_t)))) { + LOGERR; + return NULL; + } else + memset(v, 0, strLen + sizeof(mqtthdr_var_t)); + + memcpy(v->var_data, csStr, strLen); + v->var_sb.val = htons(strLen); + + return v; +}