diff --git a/lib/handle_auth.c b/lib/handle_auth.c index ef2b1f83..670c8f07 100644 --- a/lib/handle_auth.c +++ b/lib/handle_auth.c @@ -43,7 +43,7 @@ int handle__auth(struct mosquitto *mosq) rc = property__read_all(AUTH, &mosq->in_packet, &properties); if(rc) return rc; - property__free_all(&properties); /* FIXME - TEMPORARY UNTIL PROPERTIES PROCESSED */ + mosquitto_property_free_all(&properties); /* FIXME - TEMPORARY UNTIL PROPERTIES PROCESSED */ return MOSQ_ERR_SUCCESS; } diff --git a/lib/handle_connack.c b/lib/handle_connack.c index b3125017..f8155fd1 100644 --- a/lib/handle_connack.c +++ b/lib/handle_connack.c @@ -44,9 +44,9 @@ int handle__connack(struct mosquitto *mosq) if(mosq->protocol == mosq_p_mqtt5){ rc = property__read_all(CONNACK, &mosq->in_packet, &properties); if(rc) return rc; - property__free_all(&properties); + mosquitto_property_free_all(&properties); } - property__free_all(&properties); /* FIXME - TEMPORARY UNTIL PROPERTIES PROCESSED */ + mosquitto_property_free_all(&properties); /* FIXME - TEMPORARY UNTIL PROPERTIES PROCESSED */ log__printf(mosq, MOSQ_LOG_DEBUG, "Client %s received CONNACK (%d)", mosq->id, reason_code); pthread_mutex_lock(&mosq->callback_mutex); diff --git a/lib/handle_pubackcomp.c b/lib/handle_pubackcomp.c index e9f0d4f4..fb649ff8 100644 --- a/lib/handle_pubackcomp.c +++ b/lib/handle_pubackcomp.c @@ -55,7 +55,7 @@ int handle__pubackcomp(struct mosquitto *mosq, const char *type) rc = property__read_all(PUBACK, &mosq->in_packet, &properties); if(rc) return rc; /* Immediately free, we don't do anything with Reason String or User Property at the moment */ - property__free_all(&properties); + mosquitto_property_free_all(&properties); } #ifdef WITH_BROKER diff --git a/lib/handle_publish.c b/lib/handle_publish.c index 44257c69..a3fb99dc 100644 --- a/lib/handle_publish.c +++ b/lib/handle_publish.c @@ -77,9 +77,9 @@ int handle__publish(struct mosquitto *mosq) if(mosq->protocol == mosq_p_mqtt5){ rc = property__read_all(PUBLISH, &mosq->in_packet, &properties); if(rc) return rc; - property__free_all(&properties); + mosquitto_property_free_all(&properties); } - property__free_all(&properties); /* FIXME - TEMPORARY UNTIL PROPERTIES PROCESSED */ + mosquitto_property_free_all(&properties); /* FIXME - TEMPORARY UNTIL PROPERTIES PROCESSED */ message->msg.payloadlen = mosq->in_packet.remaining_length - mosq->in_packet.pos; if(message->msg.payloadlen){ diff --git a/lib/handle_pubrec.c b/lib/handle_pubrec.c index 1d6401b0..a0cdaf1b 100644 --- a/lib/handle_pubrec.c +++ b/lib/handle_pubrec.c @@ -50,7 +50,7 @@ int handle__pubrec(struct mosquitto *mosq) rc = property__read_all(PUBREC, &mosq->in_packet, &properties); if(rc) return rc; /* Immediately free, we don't do anything with Reason String or User Property at the moment */ - property__free_all(&properties); + mosquitto_property_free_all(&properties); } #ifdef WITH_BROKER diff --git a/lib/handle_pubrel.c b/lib/handle_pubrel.c index 7ed08010..b3f426dc 100644 --- a/lib/handle_pubrel.c +++ b/lib/handle_pubrel.c @@ -59,7 +59,7 @@ int handle__pubrel(struct mosquitto_db *db, struct mosquitto *mosq) rc = property__read_all(PUBREL, &mosq->in_packet, &properties); if(rc) return rc; /* Immediately free, we don't do anything with Reason String or User Property at the moment */ - property__free_all(&properties); + mosquitto_property_free_all(&properties); } #ifdef WITH_BROKER diff --git a/lib/handle_suback.c b/lib/handle_suback.c index 2b23e134..0da03758 100644 --- a/lib/handle_suback.c +++ b/lib/handle_suback.c @@ -55,7 +55,7 @@ int handle__suback(struct mosquitto *mosq) rc = property__read_all(SUBACK, &mosq->in_packet, &properties); if(rc) return rc; /* Immediately free, we don't do anything with Reason String or User Property at the moment */ - property__free_all(&properties); + mosquitto_property_free_all(&properties); } qos_count = mosq->in_packet.remaining_length - mosq->in_packet.pos; diff --git a/lib/handle_unsuback.c b/lib/handle_unsuback.c index 1e7fae8d..0b1232d3 100644 --- a/lib/handle_unsuback.c +++ b/lib/handle_unsuback.c @@ -57,7 +57,7 @@ int handle__unsuback(struct mosquitto *mosq) rc = property__read_all(UNSUBACK, &mosq->in_packet, &properties); if(rc) return rc; /* Immediately free, we don't do anything with Reason String or User Property at the moment */ - property__free_all(&properties); + mosquitto_property_free_all(&properties); } #ifndef WITH_BROKER diff --git a/lib/linker.version b/lib/linker.version index fb18c049..727f85b0 100644 --- a/lib/linker.version +++ b/lib/linker.version @@ -95,4 +95,5 @@ MOSQ_1.5 { MOSQ_1.6 { global: mosquitto_subscribe_multiple; + mosquitto_property_free_all; } MOSQ_1.5; diff --git a/lib/mosquitto.h b/lib/mosquitto.h index 374c67e6..668de814 100644 --- a/lib/mosquitto.h +++ b/lib/mosquitto.h @@ -114,6 +114,7 @@ struct mosquitto_message{ }; struct mosquitto; +typedef struct mqtt5__property mosquitto_property; /* * Topic: Threads @@ -1874,6 +1875,29 @@ libmosq_EXPORT int mosquitto_subscribe_callback( libmosq_EXPORT int mosquitto_validate_utf8(const char *str, int len); +/* ============================================================================= + * + * Section: Properties + * + * ============================================================================= + */ + +/* + * Function: mosquitto_property_free_all + * + * Free all properties from a list of properties. Frees the list and sets *properties to NULL. + * + * Parameters: + * properties - list of properties to free + * + * Example: + * mosquitto_properties *properties = NULL; + * // Add properties + * mosquitto_property_free_all(&properties); + */ +libmosq_EXPORT void mosquitto_property_free_all(mosquitto_property **properties); + + #ifdef __cplusplus } #endif diff --git a/lib/property_mosq.c b/lib/property_mosq.c index b4f44c84..3c932cea 100644 --- a/lib/property_mosq.c +++ b/lib/property_mosq.c @@ -161,7 +161,7 @@ int property__read_all(int command, struct mosquitto__packet *packet, struct mqt rc = property__read(packet, &proplen, p); if(rc){ mosquitto__free(p); - property__free_all(properties); + mosquitto_property_free_all(properties); return rc; } @@ -182,19 +182,19 @@ int property__read_all(int command, struct mosquitto__packet *packet, struct mqt || p->identifier == PROP_SHARED_SUB_AVAILABLE){ if(p->value.i8 > 1){ - property__free_all(properties); + mosquitto_property_free_all(properties); return MOSQ_ERR_PROTOCOL; } }else if(p->identifier == PROP_MAXIMUM_PACKET_SIZE){ if( p->value.i32 == 0){ - property__free_all(properties); + mosquitto_property_free_all(properties); return MOSQ_ERR_PROTOCOL; } }else if(p->identifier == PROP_RECEIVE_MAXIMUM || p->identifier == PROP_TOPIC_ALIAS){ if(p->value.i16 == 0){ - property__free_all(properties); + mosquitto_property_free_all(properties); return MOSQ_ERR_PROTOCOL; } } @@ -208,7 +208,7 @@ int property__read_all(int command, struct mosquitto__packet *packet, struct mqt if(current->identifier == tail->identifier && current->identifier != PROP_USER_PROPERTY){ - property__free_all(properties); + mosquitto_property_free_all(properties); return MOSQ_ERR_PROTOCOL; } tail = tail->next; @@ -218,7 +218,7 @@ int property__read_all(int command, struct mosquitto__packet *packet, struct mqt /* Check for properties on incorrect commands */ if(property__command_check(command, *properties)){ - property__free_all(properties); + mosquitto_property_free_all(properties); return MOSQ_ERR_PROTOCOL; } return MOSQ_ERR_SUCCESS; @@ -276,7 +276,7 @@ void property__free(struct mqtt5__property **property) } -void property__free_all(struct mqtt5__property **property) +void mosquitto_property_free_all(struct mqtt5__property **property) { struct mqtt5__property *p, *next; diff --git a/lib/property_mosq.h b/lib/property_mosq.h index 1253063a..5fbd311f 100644 --- a/lib/property_mosq.h +++ b/lib/property_mosq.h @@ -42,7 +42,6 @@ struct mqtt5__property { int property__read_all(int command, struct mosquitto__packet *packet, struct mqtt5__property **property); int property__write_all(struct mosquitto__packet *packet, struct mqtt5__property *property); void property__free(struct mqtt5__property **property); -void property__free_all(struct mqtt5__property **property); int property__get_length(struct mqtt5__property *property); int property__get_length_all(struct mqtt5__property *property); diff --git a/src/context.c b/src/context.c index f4fe9a43..a78ea1e1 100644 --- a/src/context.c +++ b/src/context.c @@ -226,7 +226,7 @@ void context__send_will(struct mosquitto_db *db, struct mosquitto *ctxt) } } if(ctxt->will){ - property__free_all(&ctxt->will->properties); + mosquitto_property_free_all(&ctxt->will->properties); mosquitto__free(ctxt->will->msg.topic); mosquitto__free(ctxt->will->msg.payload); mosquitto__free(ctxt->will); diff --git a/src/database.c b/src/database.c index 1595be21..236d5bf0 100644 --- a/src/database.c +++ b/src/database.c @@ -207,7 +207,7 @@ void db__msg_store_remove(struct mosquitto_db *db, struct mosquitto_msg_store *s mosquitto__free(store->dest_ids); } mosquitto__free(store->topic); - property__free_all(&store->properties); + mosquitto_property_free_all(&store->properties); UHPA_FREE_PAYLOAD(store); mosquitto__free(store); } @@ -661,7 +661,7 @@ error: mosquitto__free(temp->topic); mosquitto__free(temp); } - property__free_all(&properties); + mosquitto_property_free_all(&properties); return rc; } diff --git a/src/handle_auth.c b/src/handle_auth.c index 1941fb95..083e6406 100644 --- a/src/handle_auth.c +++ b/src/handle_auth.c @@ -42,7 +42,7 @@ int handle__auth(struct mosquitto_db *db, struct mosquitto *context) rc = property__read_all(AUTH, &context->in_packet, &properties); if(rc) return rc; - property__free_all(&properties); /* FIXME - TEMPORARY UNTIL PROPERTIES PROCESSED */ + mosquitto_property_free_all(&properties); /* FIXME - TEMPORARY UNTIL PROPERTIES PROCESSED */ return MOSQ_ERR_SUCCESS; } diff --git a/src/handle_connack.c b/src/handle_connack.c index fd289b5f..4fb76c4c 100644 --- a/src/handle_connack.c +++ b/src/handle_connack.c @@ -47,9 +47,9 @@ int handle__connack(struct mosquitto_db *db, struct mosquitto *context) if(context->protocol == mosq_p_mqtt5){ rc = property__read_all(CONNACK, &context->in_packet, &properties); if(rc) return rc; - property__free_all(&properties); + mosquitto_property_free_all(&properties); } - property__free_all(&properties); /* FIXME - TEMPORARY UNTIL PROPERTIES PROCESSED */ + mosquitto_property_free_all(&properties); /* FIXME - TEMPORARY UNTIL PROPERTIES PROCESSED */ switch(reason_code){ case CONNACK_ACCEPTED: diff --git a/src/handle_connect.c b/src/handle_connect.c index 6a4680ae..a60e1f9b 100644 --- a/src/handle_connect.c +++ b/src/handle_connect.c @@ -244,9 +244,9 @@ int handle__connect(struct mosquitto_db *db, struct mosquitto *context) if(protocol_version == PROTOCOL_VERSION_v5){ rc = property__read_all(CONNECT, &context->in_packet, &properties); if(rc) return rc; - property__free_all(&properties); + mosquitto_property_free_all(&properties); } - property__free_all(&properties); /* FIXME - TEMPORARY UNTIL PROPERTIES PROCESSED */ + mosquitto_property_free_all(&properties); /* FIXME - TEMPORARY UNTIL PROPERTIES PROCESSED */ if(packet__read_string(&context->in_packet, &client_id, &slen)){ rc = 1; @@ -304,7 +304,7 @@ int handle__connect(struct mosquitto_db *db, struct mosquitto *context) if(protocol_version == PROTOCOL_VERSION_v5){ rc = property__read_all(CMD_WILL, &context->in_packet, &will_struct->properties); if(rc) return rc; - property__free_all(&properties); /* FIXME - TEMPORARY UNTIL PROPERTIES PROCESSED */ + mosquitto_property_free_all(&properties); /* FIXME - TEMPORARY UNTIL PROPERTIES PROCESSED */ } if(packet__read_string(&context->in_packet, &will_topic, &slen)){ rc = 1; @@ -709,7 +709,7 @@ handle_connect_error: mosquitto__free(will_payload); mosquitto__free(will_topic); if(will_struct){ - property__free_all(&will_struct->properties); + mosquitto_property_free_all(&will_struct->properties); } mosquitto__free(will_struct); #ifdef WITH_TLS @@ -731,9 +731,9 @@ int handle__disconnect(struct mosquitto_db *db, struct mosquitto *context) if(context->protocol == mosq_p_mqtt5){ rc = property__read_all(DISCONNECT, &context->in_packet, &properties); if(rc) return rc; - property__free_all(&properties); + mosquitto_property_free_all(&properties); } - property__free_all(&properties); /* FIXME - TEMPORARY UNTIL PROPERTIES PROCESSED */ + mosquitto_property_free_all(&properties); /* FIXME - TEMPORARY UNTIL PROPERTIES PROCESSED */ if(context->in_packet.remaining_length != 0){ return MOSQ_ERR_PROTOCOL; diff --git a/src/handle_publish.c b/src/handle_publish.c index 20c51659..a071481d 100644 --- a/src/handle_publish.c +++ b/src/handle_publish.c @@ -194,7 +194,7 @@ int handle__publish(struct mosquitto_db *db, struct mosquitto *context) } } } - property__free_all(&properties); + mosquitto_property_free_all(&properties); payloadlen = context->in_packet.remaining_length - context->in_packet.pos; G_PUB_BYTES_RECEIVED_INC(payloadlen); diff --git a/src/handle_subscribe.c b/src/handle_subscribe.c index ebab3156..0bd7b702 100644 --- a/src/handle_subscribe.c +++ b/src/handle_subscribe.c @@ -55,9 +55,9 @@ int handle__subscribe(struct mosquitto_db *db, struct mosquitto *context) if(context->protocol == mosq_p_mqtt5){ rc = property__read_all(SUBSCRIBE, &context->in_packet, &properties); if(rc) return rc; - property__free_all(&properties); + mosquitto_property_free_all(&properties); } - property__free_all(&properties); /* FIXME - TEMPORARY UNTIL PROPERTIES PROCESSED */ + mosquitto_property_free_all(&properties); /* FIXME - TEMPORARY UNTIL PROPERTIES PROCESSED */ while(context->in_packet.pos < context->in_packet.remaining_length){ sub = NULL; diff --git a/src/handle_unsubscribe.c b/src/handle_unsubscribe.c index 56da9957..c64ae66c 100644 --- a/src/handle_unsubscribe.c +++ b/src/handle_unsubscribe.c @@ -48,7 +48,7 @@ int handle__unsubscribe(struct mosquitto_db *db, struct mosquitto *context) rc = property__read_all(UNSUBSCRIBE, &context->in_packet, &properties); if(rc) return rc; /* Immediately free, we don't do anything with User Property at the moment */ - property__free_all(&properties); + mosquitto_property_free_all(&properties); } if(context->protocol == mosq_p_mqtt311 || context->protocol == mosq_p_mqtt5){ diff --git a/test/unit/property_read.c b/test/unit/property_read.c index 86fb5ad6..2b347735 100644 --- a/test/unit/property_read.c +++ b/test/unit/property_read.c @@ -29,7 +29,7 @@ static void byte_prop_read_helper( CU_ASSERT_EQUAL(properties->value.i8, value_expected); CU_ASSERT_PTR_EQUAL(properties->next, NULL); CU_ASSERT_EQUAL(property__get_length_all(properties), 2); - property__free_all(&properties); + mosquitto_property_free_all(&properties); } CU_ASSERT_PTR_EQUAL(properties, NULL); } @@ -85,7 +85,7 @@ static void int32_prop_read_helper( CU_ASSERT_EQUAL(properties->value.i32, value_expected); CU_ASSERT_PTR_EQUAL(properties->next, NULL); CU_ASSERT_EQUAL(property__get_length_all(properties), 5); - property__free_all(&properties); + mosquitto_property_free_all(&properties); } CU_ASSERT_PTR_EQUAL(properties, NULL); } @@ -135,7 +135,7 @@ static void int16_prop_read_helper( CU_ASSERT_EQUAL(properties->value.i16, value_expected); CU_ASSERT_PTR_EQUAL(properties->next, NULL); CU_ASSERT_EQUAL(property__get_length_all(properties), 3); - property__free_all(&properties); + mosquitto_property_free_all(&properties); } CU_ASSERT_PTR_EQUAL(properties, NULL); } @@ -181,7 +181,7 @@ static void string_prop_read_helper( CU_ASSERT_STRING_EQUAL(properties->value.s.v, value_expected); CU_ASSERT_PTR_EQUAL(properties->next, NULL); CU_ASSERT_EQUAL(property__get_length_all(properties), 1+2+strlen(value_expected)); - property__free_all(&properties); + mosquitto_property_free_all(&properties); } CU_ASSERT_PTR_EQUAL(properties, NULL); } @@ -246,7 +246,7 @@ static void binary_prop_read_helper( CU_ASSERT_EQUAL(memcmp(properties->value.bin.v, value_expected, len_expected), 0); CU_ASSERT_PTR_EQUAL(properties->next, NULL); CU_ASSERT_EQUAL(property__get_length_all(properties), 1+2+len_expected); - property__free_all(&properties); + mosquitto_property_free_all(&properties); } CU_ASSERT_PTR_EQUAL(properties, NULL); } @@ -301,7 +301,7 @@ static void string_pair_prop_read_helper( CU_ASSERT_PTR_NULL(properties->next); CU_ASSERT_EQUAL(property__get_length_all(properties), 1+2+strlen(name_expected)+2+strlen(value_expected)); } - property__free_all(&properties); + mosquitto_property_free_all(&properties); } CU_ASSERT_PTR_NULL(properties); } @@ -328,7 +328,7 @@ static void varint_prop_read_helper( CU_ASSERT_EQUAL(properties->value.varint, value_expected); CU_ASSERT_PTR_NULL(properties->next); CU_ASSERT_EQUAL(property__get_length_all(properties), packet__varint_bytes(value_expected)+1); - property__free_all(&properties); + mosquitto_property_free_all(&properties); } CU_ASSERT_PTR_NULL(properties); } @@ -367,7 +367,7 @@ static void packet_helper_reason_string_user_property(int command) CU_ASSERT_STRING_EQUAL(p->name.v, "name"); CU_ASSERT_EQUAL(p->name.len, strlen("name")); - property__free_all(&properties); + mosquitto_property_free_all(&properties); } } @@ -1273,7 +1273,7 @@ static void TEST_packet_connect(void) CU_ASSERT_EQUAL(p->value.bin.v[1], 2); CU_ASSERT_EQUAL(p->value.s.len, 2); - property__free_all(&properties); + mosquitto_property_free_all(&properties); } static void TEST_packet_connack(void) @@ -1406,7 +1406,7 @@ static void TEST_packet_connack(void) CU_ASSERT_EQUAL(p->value.bin.v[1], 2); CU_ASSERT_EQUAL(p->value.s.len, 2); - property__free_all(&properties); + mosquitto_property_free_all(&properties); } static void TEST_packet_publish(void) @@ -1482,7 +1482,7 @@ static void TEST_packet_publish(void) CU_ASSERT_STRING_EQUAL(p->value.s.v, "empty"); CU_ASSERT_EQUAL(p->value.s.len, strlen("empty")); - property__free_all(&properties); + mosquitto_property_free_all(&properties); } static void TEST_packet_puback(void) @@ -1538,7 +1538,7 @@ static void TEST_packet_subscribe(void) CU_ASSERT_EQUAL(p->identifier, PROP_SUBSCRIPTION_IDENTIFIER); CU_ASSERT_EQUAL(p->value.varint, 0x00000004); - property__free_all(&properties); + mosquitto_property_free_all(&properties); } static void TEST_packet_suback(void) @@ -1572,7 +1572,7 @@ static void TEST_packet_unsubscribe(void) CU_ASSERT_STRING_EQUAL(p->name.v, "name"); CU_ASSERT_EQUAL(p->name.len, strlen("name")); - property__free_all(&properties); + mosquitto_property_free_all(&properties); } static void TEST_packet_unsuback(void) @@ -1620,7 +1620,7 @@ static void TEST_packet_disconnect(void) CU_ASSERT_STRING_EQUAL(p->name.v, "name"); CU_ASSERT_EQUAL(p->name.len, strlen("name")); - property__free_all(&properties); + mosquitto_property_free_all(&properties); } static void TEST_packet_auth(void) @@ -1672,7 +1672,7 @@ static void TEST_packet_auth(void) CU_ASSERT_STRING_EQUAL(p->name.v, "name"); CU_ASSERT_EQUAL(p->name.len, strlen("name")); - property__free_all(&properties); + mosquitto_property_free_all(&properties); } diff --git a/test/unit/property_write.c b/test/unit/property_write.c index 5eb9caee..95003412 100644 --- a/test/unit/property_write.c +++ b/test/unit/property_write.c @@ -39,7 +39,7 @@ static void byte_prop_write_helper( CU_ASSERT_EQUAL(properties->value.i8, value_expected); CU_ASSERT_PTR_EQUAL(properties->next, NULL); CU_ASSERT_EQUAL(property__get_length_all(properties), 2); - property__free_all(&properties); + mosquitto_property_free_all(&properties); } CU_ASSERT_PTR_EQUAL(properties, NULL); } @@ -79,7 +79,7 @@ static void int32_prop_write_helper( CU_ASSERT_EQUAL(properties->value.i32, value_expected); CU_ASSERT_PTR_EQUAL(properties->next, NULL); CU_ASSERT_EQUAL(property__get_length_all(properties), 5); - property__free_all(&properties); + mosquitto_property_free_all(&properties); } CU_ASSERT_PTR_EQUAL(properties, NULL); } @@ -119,7 +119,7 @@ static void int16_prop_write_helper( CU_ASSERT_EQUAL(properties->value.i16, value_expected); CU_ASSERT_PTR_EQUAL(properties->next, NULL); CU_ASSERT_EQUAL(property__get_length_all(properties), 3); - property__free_all(&properties); + mosquitto_property_free_all(&properties); } CU_ASSERT_PTR_EQUAL(properties, NULL); } @@ -160,7 +160,7 @@ static void string_prop_write_helper( CU_ASSERT_STRING_EQUAL(properties->value.s.v, value_expected); CU_ASSERT_PTR_EQUAL(properties->next, NULL); CU_ASSERT_EQUAL(property__get_length_all(properties), 1+2+strlen(value_expected)); - property__free_all(&properties); + mosquitto_property_free_all(&properties); } CU_ASSERT_PTR_EQUAL(properties, NULL); free(property.value.s.v); @@ -205,7 +205,7 @@ static void binary_prop_write_helper( CU_ASSERT_EQUAL(memcmp(properties->value.bin.v, value_expected, len_expected), 0); CU_ASSERT_PTR_EQUAL(properties->next, NULL); CU_ASSERT_EQUAL(property__get_length_all(properties), 1+2+len_expected); - property__free_all(&properties); + mosquitto_property_free_all(&properties); } CU_ASSERT_PTR_EQUAL(properties, NULL); free(property.value.bin.v); @@ -256,7 +256,7 @@ static void string_pair_prop_write_helper( CU_ASSERT_PTR_NULL(properties->next); CU_ASSERT_EQUAL(property__get_length_all(properties), 1+2+strlen(name_expected)+2+strlen(value_expected)); } - property__free_all(&properties); + mosquitto_property_free_all(&properties); } CU_ASSERT_PTR_NULL(properties); free(property.value.s.v); @@ -305,7 +305,7 @@ static void varint_prop_write_helper( }else{ CU_FAIL("Incorrect varint value."); } - property__free_all(&properties); + mosquitto_property_free_all(&properties); } CU_ASSERT_PTR_NULL(properties); }