X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=state.c;h=ca73d4ab6692ca1dab02d8ac1aca4f1c13565ac8;hp=715cc9ee9f500b9ef9acc3dcb7e1a1c1e1a85413;hb=5e53f9e5f65aa5b3af6f5af9d868403536534afb;hpb=cf69ddd650f124d3aed242285434ba2b97fb4b79 diff --git a/state.c b/state.c index 715cc9e..ca73d4a 100644 --- a/state.c +++ b/state.c @@ -15,6 +15,9 @@ #include "mutt.h" #include "state.h" +#include "rfc3676.h" + +#include "lib/debug.h" static void state_prefix_put (const char *d, size_t dlen, STATE * s) { @@ -28,14 +31,14 @@ static void state_prefix_put (const char *d, size_t dlen, STATE * s) void mutt_convert_to_state (iconv_t cd, char *bufi, size_t * l, STATE * s) { char bufo[BUFO_SIZE]; - ICONV_CONST char *ib; + const char *ib; char *ob; size_t ibl, obl; if (!bufi) { if (cd != (iconv_t) (-1)) { ob = bufo, obl = sizeof (bufo); - iconv (cd, 0, 0, &ob, &obl); + my_iconv(cd, 0, 0, &ob, &obl); if (ob != bufo) state_prefix_put (bufo, ob - bufo, s); } @@ -74,6 +77,9 @@ void state_prefix_putc (char c, STATE * s) char buf[2 * SHORT_STRING]; int j = 0, offset = 0; regmatch_t pmatch[1]; +#ifdef DEBUG + unsigned char save = '\0'; +#endif state_reset_prefix (s); while (regexec @@ -85,7 +91,7 @@ void state_prefix_putc (char c, STATE * s) buf[0] = '\n'; buf[1] = '\0'; } - else if (option (OPTQUOTEQUOTED) && offset) { + else if (!option (OPTTEXTFLOWED) && option (OPTQUOTEQUOTED) && offset) { for (i = 0; i < offset; i++) if (Quotebuf[i] != ' ') j = i; @@ -95,6 +101,15 @@ void state_prefix_putc (char c, STATE * s) else snprintf (buf, sizeof (buf), "%s%s", NONULL (s->prefix), Quotebuf); +#ifdef DEBUG + if (str_len (buf) >= 2) { + save = buf[str_len (buf) - 1]; + buf[str_len (buf) - 1] = '\0'; + debug_print (2, ("buf = '%s'\n", buf)); + buf[str_len (buf)] = save; + } +#endif + state_puts (buf, s); } }