added sequence_free

This commit is contained in:
Juri Glass 2011-09-03 15:58:04 +02:00
parent 10122403bb
commit ac68dea871
2 changed files with 17 additions and 1 deletions

View file

@ -71,7 +71,16 @@ void sml_sequence_write(sml_sequence *seq, sml_buffer *buf, void (*elem_write) (
}
void sml_sequence_free(sml_sequence *seq) {
if (seq) {
int i;
for (i = 0; i < seq->elems_len; i++) {
seq->elem_free((seq->elems)[i]);
}
if (seq->elems != 0) {
free(seq->elems);
}
free(seq);
}
}
void sml_sequence_add(sml_sequence *seq, void *new_entry) {

View file

@ -125,10 +125,17 @@ TEST(sml_sequence, write_octet_string) {
expected_buf(buf, "720648616C6C6F0648616C6C6F", 13);
}
TEST(sml_sequence, free_octet_string) {
sml_sequence *seq = sml_sequence_init(&sml_octet_string_free);
sml_sequence_add(seq, sml_octet_string_init((unsigned char *)"Hallo", 5));
sml_sequence_free(seq);
}
TEST_GROUP_RUNNER(sml_sequence) {
RUN_TEST_CASE(sml_sequence, init);
RUN_TEST_CASE(sml_sequence, parse_octet_string);
RUN_TEST_CASE(sml_sequence, write_octet_string);
RUN_TEST_CASE(sml_sequence, free_octet_string);
}