diff options
author | jcid <devnull@localhost> | 2008-09-17 23:40:06 +0200 |
---|---|---|
committer | jcid <devnull@localhost> | 2008-09-17 23:40:06 +0200 |
commit | d61666920e33d15d25ac6381e4f4c64f66165493 (patch) | |
tree | 830606c48ba658723aae8eb41be16a62a1b551ce /src | |
parent | 29a9d7ce54badbb0f5e5b2b747b78a88bc5715c2 (diff) |
- Fixed a memory leak in plain.cc.
Diffstat (limited to 'src')
-rw-r--r-- | src/misc.c | 6 | ||||
-rw-r--r-- | src/misc.h | 2 | ||||
-rw-r--r-- | src/plain.cc | 8 |
3 files changed, 8 insertions, 8 deletions
@@ -52,13 +52,13 @@ char *a_Misc_escape_chars(const char *str, const char *esc_set) /* * Takes a string and converts any tabs to spaces. */ -char *a_Misc_expand_tabs(const char *str) +char *a_Misc_expand_tabs(const char *str, int len) { Dstr *New = dStr_new(""); - int len, i, j, pos, old_pos; + int i, j, pos, old_pos; char *val; - if ((len = strlen(str))) { + if (len) { for (pos = 0, i = 0; i < len; i++) { if (str[i] == '\t') { /* Fill with whitespaces until the next tab. */ @@ -10,7 +10,7 @@ extern "C" { char *a_Misc_escape_chars(const char *str, const char *esc_set); -char *a_Misc_expand_tabs(const char *str); +char *a_Misc_expand_tabs(const char *str, int len); int a_Misc_get_content_type_from_data(void *Data, size_t Size,const char **PT); int a_Misc_content_type_check(const char *EntryType, const char *DetectedType); void a_Misc_parse_content_type(const char *str, char **major, char **minor, diff --git a/src/plain.cc b/src/plain.cc index 9a656907..34672e3c 100644 --- a/src/plain.cc +++ b/src/plain.cc @@ -170,8 +170,8 @@ void DilloPlain::write(void *Buf, uint_t BufSize, int Eof) } break; case ST_Eol: - data = dStrndup(Start + i - len, len); - DW2TB(dw)->addText(a_Misc_expand_tabs(data), widgetStyle); + data = a_Misc_expand_tabs(Start + i - len, len); + DW2TB(dw)->addText(data, widgetStyle); DW2TB(dw)->addParbreak(0, widgetStyle); dFree(data); if (Start[i] == '\r' && Start[i + 1] == '\n') ++i; @@ -183,8 +183,8 @@ void DilloPlain::write(void *Buf, uint_t BufSize, int Eof) } Start_Ofs += i - len; if (Eof && len) { - data = dStrndup(Start + i - len, len); - DW2TB(dw)->addText(a_Misc_expand_tabs(data), widgetStyle); + data = a_Misc_expand_tabs(Start + i - len, len); + DW2TB(dw)->addText(data, widgetStyle); DW2TB(dw)->addParbreak(0, widgetStyle); dFree(data); Start_Ofs += len; |