+2019-03-10 Bruno Haible <bruno@clisp.org>
+
+ uninorm tests: Free allocated memory.
+ * tests/uninorm/test-u32-normalize-big.h
+ (struct normalization_test_file): Remove 'const' from allocated member.
+ (free_normalization_test_file): New declaration.
+ * tests/uninorm/test-u32-normalize-big.c (test_other): Free allocated
+ memory.
+ (free_normalization_test_file): New function.
+ * tests/uninorm/test-u32-nfc-big.c (main): Free allocated
+ 'struct normalization_test_file' contents.
+ * tests/uninorm/test-u32-nfd-big.c (main): Likewise.
+ * tests/uninorm/test-u32-nfkc-big.c (main): Likewise.
+ * tests/uninorm/test-u32-nfkd-big.c (main): Likewise.
+
2019-03-10 Bruno Haible <bruno@clisp.org>
di-set: Fix memory leak.
test_specific (&file, check);
test_other (&file, UNINORM_NFC);
+ free_normalization_test_file (&file);
+
return 0;
}
test_specific (&file, check);
test_other (&file, UNINORM_NFD);
+ free_normalization_test_file (&file);
+
return 0;
}
test_specific (&file, check);
test_other (&file, UNINORM_NFKC);
+ free_normalization_test_file (&file);
+
return 0;
}
test_specific (&file, check);
test_other (&file, UNINORM_NFKD);
+ free_normalization_test_file (&file);
+
return 0;
}
input[0] = uc;
result = u32_normalize (nf, input, 1, NULL, &length);
ASSERT (result != NULL && length == 1 && result[0] == uc);
+
+ free (result);
+ }
+ }
+}
+
+void
+free_normalization_test_file (struct normalization_test_file *file)
+{
+ size_t part_index;
+
+ for (part_index = 0; part_index < 4; part_index++)
+ {
+ const struct normalization_test_part *p = &file->parts[part_index];
+ size_t line_index;
+
+ for (line_index = 0; line_index < p->lines_length; line_index++)
+ {
+ const struct normalization_test_line *l = &p->lines[line_index];
+ size_t sequence_index;
+
+ for (sequence_index = 0; sequence_index < 5; sequence_index++)
+ free (l->sequences[sequence_index]);
}
+ free (p->lines);
}
+ free (file->part1_c1_sorted);
+ free (file->filename);
}
#endif
sentinel value of 0x110000 at the end. */
ucs4_t *part1_c1_sorted;
/* The filename of the NormalizationTest.txt file. */
- const char *filename;
+ char *filename;
};
/* Read the NormalizationTest.txt file and return its contents. */
/* Perform the second compliance test. */
extern void
test_other (const struct normalization_test_file *file, uninorm_t nf);
+
+/* Free the representation of the NormalizationTest.txt file. */
+extern void
+ free_normalization_test_file (struct normalization_test_file *file);