wibble
[apps/madmutt.git] / lib-mime / rfc2047.c
index 5b88b4b..a18b190 100644 (file)
@@ -56,7 +56,6 @@
 #define ENCWORD_LEN_MIN 9       /* m_strlen("=?.?.?.?=") */
 
 #define HSPACE(x) ((x) == '\0' || (x) == ' ' || (x) == '\t')
-
 #define CONTINUATION_BYTE(c) (((c) & 0xc0) == 0x80)
 
 /* converts f of len flen and charset from
@@ -260,9 +259,9 @@ q_encoder(char *s, const char *d, ssize_t dlen, const char *tocode)
  * tocode, unless fromcode is 0, in which case the data is assumed to
  * be already in tocode, which should be 8-bit and stateless.
  */
-static size_t try_block (const char *d, ssize_t dlen,
-                         const char *fromcode, const char *tocode,
-                         encoder_t **encoder, ssize_t *wlen)
+static size_t try_block(const char *d, ssize_t dlen,
+                        const char *fromcode, const char *tocode,
+                        encoder_t **encoder, ssize_t *wlen)
 {
     char buf1[ENCWORD_LEN_MAX - ENCWORD_LEN_MIN + 1];
     ssize_t obl = sizeof(buf1) - m_strlen(tocode);
@@ -328,9 +327,9 @@ static size_t try_block (const char *d, ssize_t dlen,
  * Encode the data (d, dlen) into s using the encoder.
  * Return the length of the encoded word.
  */
-static size_t encode_block (char *s, char *d, ssize_t dlen,
-                            const char *fromcode, const char *tocode,
-                            encoder_t *encoder)
+static size_t
+encode_block(char *s, char *d, ssize_t dlen,
+             const char *fromcode, const char *tocode, encoder_t *encoder)
 {
     char buf1[ENCWORD_LEN_MAX - ENCWORD_LEN_MIN + 1];
     ssize_t ibl, obl, n1, n2;
@@ -339,16 +338,16 @@ static size_t encode_block (char *s, char *d, ssize_t dlen,
     char *ob;
 
     if (fromcode) {
-        cd = mutt_iconv_open (tocode, fromcode, 0);
+        cd = mutt_iconv_open(tocode, fromcode, 0);
         assert (cd != (iconv_t) (-1));
-        ib = d, ibl = dlen, ob = buf1, obl = sizeof (buf1) - m_strlen(tocode);
+        ib = d, ibl = dlen, ob = buf1, obl = sizeof(buf1) - m_strlen(tocode);
         n1 = my_iconv(cd, &ib, &ibl, &ob, &obl);
         n2 = my_iconv(cd, 0, 0, &ob, &obl);
         assert (n1 >= 0 && n2 >= 0);
         iconv_close (cd);
-        return (*encoder) (s, buf1, ob - buf1, tocode);
+        return (*encoder)(s, buf1, ob - buf1, tocode);
     } else {
-        return (*encoder) (s, d, dlen, tocode);
+        return (*encoder)(s, d, dlen, tocode);
     }
 }
 
@@ -363,23 +362,28 @@ static size_t choose_block(char *d, size_t dlen, int col,
                            encoder_t **encoder, ssize_t *wlen)
 {
     size_t n, nn;
-    int utf8 = fromcode && !ascii_strcasecmp (fromcode, "UTF-8");
+    int utf8 = fromcode && !ascii_strcasecmp(fromcode, "UTF-8");
 
     n = dlen;
     for (;;) {
         assert (d + n > d);
-        nn = try_block (d, n, fromcode, tocode, encoder, wlen);
+        nn = try_block(d, n, fromcode, tocode, encoder, wlen);
         if (!nn && (col + *wlen <= ENCWORD_LEN_MAX + 1 || n <= 1))
             break;
         n = (nn ? nn : n) - 1;
         assert (n > 0);
-        if (utf8)
-            while (n > 1 && CONTINUATION_BYTE (d[n]))
+        if (utf8) {
+            while (n > 1 && CONTINUATION_BYTE(d[n]))
                 --n;
+        }
     }
     return n;
 }
 
+
+
+/*** XXX: MC: not read after that mark ***/
+
 /*
  * Place the result of RFC-2047-encoding (d, dlen) into the dynamically
  * allocated buffer (e, elen). The input data is in charset fromcode