summaryrefslogtreecommitdiff
path: root/bk_text.c
diff options
context:
space:
mode:
authorSimon Tatham <anakin@pobox.com>2004-04-01 17:01:10 +0000
committerSimon Tatham <anakin@pobox.com>2004-04-01 17:01:10 +0000
commitefe1dfe08841eb96a97d224c4f975cdfb5107c27 (patch)
tree94c0c0b97886dd9d1b8f7411fd362b4233573971 /bk_text.c
parentc7cc3f7daaf26be45573f9f750780b0fa472974a (diff)
downloadhalibut-efe1dfe08841eb96a97d224c4f975cdfb5107c27.zip
halibut-efe1dfe08841eb96a97d224c4f975cdfb5107c27.tar.gz
halibut-efe1dfe08841eb96a97d224c4f975cdfb5107c27.tar.bz2
halibut-efe1dfe08841eb96a97d224c4f975cdfb5107c27.tar.xz
Fix a couple of memory leaks in backends.
[originally from svn r4016]
Diffstat (limited to 'bk_text.c')
-rw-r--r--bk_text.c22
1 files changed, 8 insertions, 14 deletions
diff --git a/bk_text.c b/bk_text.c
index 15a4fc0..df8ae62 100644
--- a/bk_text.c
+++ b/bk_text.c
@@ -65,17 +65,17 @@ static textconfig text_configure(paragraph *source) {
ret.atitle.underline = L'=';
ret.achapter.align = LEFT;
ret.achapter.just_numbers = FALSE;
- ret.achapter.number_suffix = ustrdup(L": ");
+ ret.achapter.number_suffix = L": ";
ret.achapter.underline = L'-';
ret.nasect = 1;
ret.asect = mknewa(alignstruct, ret.nasect);
ret.asect[0].align = LEFTPLUS;
ret.asect[0].just_numbers = TRUE;
- ret.asect[0].number_suffix = ustrdup(L" ");
+ ret.asect[0].number_suffix = L" ";
ret.asect[0].underline = L'\0';
ret.include_version_id = TRUE;
ret.indent_preambles = FALSE;
- ret.bullet.text = ustrdup(L"-");
+ ret.bullet.text = L"-";
for (; source; source = source->next) {
if (source->type == para_Config) {
@@ -96,7 +96,7 @@ static textconfig text_configure(paragraph *source) {
} else if (!ustricmp(source->keyword, L"text-chapter-numeric")) {
ret.achapter.just_numbers = utob(uadv(source->keyword));
} else if (!ustricmp(source->keyword, L"text-chapter-suffix")) {
- ret.achapter.number_suffix = ustrdup(uadv(source->keyword));
+ ret.achapter.number_suffix = uadv(source->keyword);
} else if (!ustricmp(source->keyword, L"text-section-align")) {
wchar_t *p = uadv(source->keyword);
int n = 0;
@@ -152,11 +152,12 @@ static textconfig text_configure(paragraph *source) {
if (n >= ret.nasect) {
int i;
ret.asect = resize(ret.asect, n+1);
- for (i = ret.nasect; i <= n; i++)
+ for (i = ret.nasect; i <= n; i++) {
ret.asect[i] = ret.asect[ret.nasect-1];
+ }
ret.nasect = n+1;
}
- ret.asect[n].number_suffix = ustrdup(p);
+ ret.asect[n].number_suffix = p;
} else if (!ustricmp(source->keyword, L"text-title-align")) {
ret.atitle.align = utoalign(uadv(source->keyword));
} else if (!ustricmp(source->keyword, L"text-title-underline")) {
@@ -330,14 +331,7 @@ void text_backend(paragraph *sourceform, keywordlist *keywords,
* Tidy up
*/
fclose(fp);
- {
- int i;
- sfree(conf.achapter.number_suffix);
- for (i = 0; i < conf.nasect; i++)
- sfree(conf.asect[i].number_suffix);
- sfree(conf.asect);
- sfree(conf.bullet.text);
- }
+ sfree(conf.asect);
}
/*