X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=handler.c;h=cae8a2e3cc5690190073fdcc99feed6d6de3d4df;hp=1b0f5a6a301f40f401dad17fab3020ea07eb7619;hb=44f97e3b57de6d306b9a1a9b58f992b80e920213;hpb=f404a0ca916be07049af51a3022baaaaab94def6 diff --git a/handler.c b/handler.c index 1b0f5a6..cae8a2e 100644 --- a/handler.c +++ b/handler.c @@ -35,6 +35,7 @@ #include "copy.h" #include "charset.h" #include "mutt_crypt.h" +#include "lib.h" #define BUFI_SIZE 1000 @@ -1211,13 +1212,19 @@ static void print_flowed_line(char * line, STATE *s,int ql) { int len = strlen(line); int i; - fprintf(stderr,"prefix = `%s'\n",s->prefix); - - width = COLS - WrapMargin - ql - 1; - if (option(OPTSTUFFQUOTED)) - --width; - if (width < 0) - width = COLS; + if (MaxLineLength > 0) { + width = MaxLineLength - WrapMargin - ql - 1; + if (option(OPTSTUFFQUOTED)) + --width; + if (width < 0) + width = MaxLineLength; + } else { + width = COLS - WrapMargin - ql - 1; + if (option(OPTSTUFFQUOTED)) + --width; + if (width < 0) + width = COLS; + } /* fprintf(stderr,"print_flowed_line will print `%s' with ql = %d\n",line,ql); */ @@ -1233,7 +1240,7 @@ static void print_flowed_line(char * line, STATE *s,int ql) { pos=line+ql+width; oldpos=line+ql; - if (ql>0 && isblank(*oldpos)) ++oldpos; + if (ql>0 && ISBLANK(*oldpos)) ++oldpos; /* fprintf(stderr,"oldpos = %p line+len = %p\n",oldpos,line+len); */ @@ -1872,11 +1879,21 @@ void mutt_decode_attachment (BODY *b, STATE *s) Quotebuf[0] = '\0'; - if (istext && s->flags & M_CHARCONV) + if (istext) { - char *charset = mutt_get_parameter ("charset", b->parameter); - if (charset && Charset) - cd = mutt_iconv_open (Charset, charset, M_ICONV_HOOK_FROM); + if(s->flags & M_CHARCONV) + { + char *charset = mutt_get_parameter ("charset", b->parameter); + if (!option (OPTSTRICTMIME) && !charset) + charset = mutt_get_first_charset (AssumedCharset); + if (charset && Charset) + cd = mutt_iconv_open (Charset, charset, M_ICONV_HOOK_FROM); + } + else + { + if (b->file_charset) + cd = mutt_iconv_open (Charset, b->file_charset, M_ICONV_HOOK_FROM); + } } fseek (s->fpin, b->offset, 0);