File widechar.sidebar.dif of Package mutt.8080

---
 handler.c |   11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

--- handler.c
+++ handler.c	2018-07-04 13:48:57.285110213 +0000
@@ -780,7 +780,7 @@ static void enriched_set_flags (const wc
 static int text_enriched_handler (BODY *a, STATE *s)
 {
   enum {
-    TEXT, LANGLE, TAG, BOGUS_TAG, NEWLINE, ST_EOF, DONE
+    TEXT, TEXT_GOTWC, LANGLE, TAG, BOGUS_TAG, NEWLINE, ST_EOF, DONE
   } state = TEXT;
 
   long bytes = a->length;
@@ -810,7 +810,7 @@ static int text_enriched_handler (BODY *
   {
     if (state != ST_EOF)
     {
-      if (!bytes || (wc = fgetwc (s->fpin)) == WEOF)
+      if (state != TEXT_GOTWC && (!bytes || (wc = fgetwc (s->fpin)) == WEOF))
 	state = ST_EOF;
       else
 	bytes--;
@@ -818,6 +818,8 @@ static int text_enriched_handler (BODY *
 
     switch (state)
     {
+      case TEXT_GOTWC:
+	state = TEXT;
       case TEXT :
 	switch (wc)
 	{
@@ -878,9 +880,8 @@ static int text_enriched_handler (BODY *
 	  enriched_flush (&stte, 1);
 	else
 	{
-	  ungetwc (wc, s->fpin);
 	  bytes++;
-	  state = TEXT;
+	  state = TEXT_GOTWC;
 	}
 	break;
 
@@ -1568,7 +1569,7 @@ void mutt_decode_attachment (BODY *b, ST
  * 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;
openSUSE Build Service is sponsored by