* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*/
+#if HAVE_CONFIG_H
+# include "config.h"
+#endif
+
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include "copy.h"
#include "charset.h"
#include "mutt_crypt.h"
+#include "lib.h"
#define BUFI_SIZE 1000
/* fprintf(stderr,"print_flowed_line will print `%s' with ql = %d\n",line,ql); */
if (strlen(line)==0) {
+ if (s->prefix)
+ state_puts(s->prefix,s);
for (i=0;i<ql;++i) state_putc('>',s);
+ if (option(OPTSTUFFQUOTED))
+ state_putc(' ',s);
state_putc('\n',s);
return;
}
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); */
} else {
/* fprintf(stderr,"if 1 else\n"); */
}
+ if (s->prefix)
+ state_puts(s->prefix,s);
for (i=0;i<ql;++i)
state_putc('>',s);
- if (option(OPTSTUFFQUOTED) && ql>0) state_putc(' ',s);
+ if (option(OPTSTUFFQUOTED) && (ql>0 || s->prefix)) state_putc(' ',s);
state_puts(oldpos,s);
/* fprintf(stderr,"print_flowed_line: `%s'\n",oldpos); */
+ if (pos<line+len)
+ state_putc(' ',s);
state_putc('\n',s);
oldpos = pos;
}
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);