diff --git a/sml/include/sml/sml_number.h b/sml/include/sml/sml_number.h index 41b95db..6f1400f 100644 --- a/sml/include/sml/sml_number.h +++ b/sml/include/sml/sml_number.h @@ -37,6 +37,8 @@ void *sml_number_parse(sml_buffer *buf, unsigned char type, int max_size); //void sml_number_write(unsigned char type, int size, u64 value, sml_buffer *buf); void sml_number_write_new(void *np, unsigned char type, int size, sml_buffer *buf); +void sml_number_free(void *np); + #define sml_u8_init(n) (u8 *) sml_number_init(n, SML_TYPE_UNSIGNED, SML_TYPE_NUMBER_8) #define sml_u16_init(n) (u16 *) sml_number_init(n, SML_TYPE_UNSIGNED, SML_TYPE_NUMBER_16) #define sml_u32_init(n) (u32 *) sml_number_init(n, SML_TYPE_UNSIGNED, SML_TYPE_NUMBER_32) diff --git a/sml/src/sml_number.c b/sml/src/sml_number.c index 34455c0..683fa44 100644 --- a/sml/src/sml_number.c +++ b/sml/src/sml_number.c @@ -129,3 +129,9 @@ int sml_number_endian() { return SML_BIG_ENDIAN; } +void sml_number_free(void *np) { + if (np) { + free(np); + } +} +