mutt/widechar.sidebar.dif
2017-04-28 14:47:43 +00:00

53 lines
1.3 KiB
Plaintext

---
handler.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
--- handler.c
+++ handler.c 2017-04-28 13:34:40.080448389 +0000
@@ -816,6 +816,7 @@ static int text_enriched_handler(BODY *a
enum
{
TEXT,
+ TEXT_GOTWC,
LANGLE,
TAG,
BOGUS_TAG,
@@ -853,7 +854,7 @@ static int text_enriched_handler(BODY *a
{
if (state != ST_EOF)
{
- if (!bytes || (wc = fgetwc(s->fpin)) == WEOF)
+ if (state != TEXT_GOTWC && (!bytes || (fscanf (s->fpin, "%lc", &wc)) == EOF))
state = ST_EOF;
else
bytes--;
@@ -861,6 +862,8 @@ static int text_enriched_handler(BODY *a
switch (state)
{
+ case TEXT_GOTWC:
+ state = TEXT;
case TEXT:
switch (wc)
{
@@ -921,9 +924,8 @@ static int text_enriched_handler(BODY *a
enriched_flush(&stte, 1);
else
{
- ungetwc(wc, s->fpin);
bytes++;
- state = TEXT;
+ state = TEXT_GOTWC;
}
break;
@@ -1638,7 +1640,7 @@ void mutt_decode_attachment(BODY *b, STA
* strip all trailing spaces to improve interoperability;
* if $text_flowed is unset, simply verbatim copy input
*/
-static int text_plain_handler(BODY *b, STATE *s)
+static int text_plain_handler(BODY *b __attribute__((unused)), STATE *s)
{
char *buf = NULL;
size_t l = 0, sz = 0;