X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=rfc3676.c;h=bd4bd03e2107f36099c5e75b8efab4d239aa2315;hp=650fc5001903456135f982e7aaa02b01cdb8d64c;hb=9a1efcc01ddeca4106847f8eb28a704aca2dcf0b;hpb=2f15afad1abb96ced1cb433fed38c90d686ffa0e diff --git a/rfc3676.c b/rfc3676.c index 650fc50..bd4bd03 100644 --- a/rfc3676.c +++ b/rfc3676.c @@ -20,6 +20,9 @@ #include #include +#include +#include + #include "mutt.h" #include "mutt_curses.h" #include "ascii.h" @@ -27,8 +30,6 @@ #include "state.h" #include "lib.h" -#include "lib/mem.h" -#include "lib/intl.h" #include "lib/str.h" #include "lib/debug.h" @@ -136,13 +137,15 @@ static void print_flowed_line (char *line, STATE * s, int ql) { int rfc3676_handler (BODY * a, STATE * s) { int bytes = a->length; char buf[LONG_STRING]; - char *curline = str_dup (""); + char *curline = p_new(char, 1); char *t = NULL; unsigned int curline_len = 1, quotelevel = 0, newql = 0; int buf_off, buf_len; int delsp = 0, fixed = 0; + *curline='\0'; + /* respect DelSP of RfC3676 only with f=f parts */ if ((t = (char*) mutt_get_parameter ("delsp", a->parameter))) { delsp = str_len (t) == 3 && ascii_strncasecmp (t, "yes", 3) == 0; @@ -173,7 +176,7 @@ int rfc3676_handler (BODY * a, STATE * s) { * possibly a change in quoting level. But that's better than not * displaying it at all. */ - if ((t = strrchr (buf, '\n')) || (t = strrchr (buf, '\r'))) { + if ((t = strrchr (buf, '\r')) || (t = strrchr (buf, '\n'))) { *t = '\0'; buf_len = t - buf; } @@ -208,7 +211,7 @@ int rfc3676_handler (BODY * a, STATE * s) { curline_len = 1; } - mem_realloc (&curline, curline_len + buf_len - buf_off); + p_realloc(&curline, curline_len + buf_len - buf_off); strcpy (curline + curline_len - 1, buf + buf_off); curline_len += buf_len - buf_off; @@ -220,7 +223,7 @@ int rfc3676_handler (BODY * a, STATE * s) { } } - mem_free (&curline); + p_delete(&curline); return (0); }