always build mutt with pgp + smime support.
[apps/madmutt.git] / enter.c
diff --git a/enter.c b/enter.c
index 4841111..b310ea1 100644 (file)
--- a/enter.c
+++ b/enter.c
@@ -80,14 +80,14 @@ static size_t width_ceiling (const wchar_t * s, size_t n, int w1)
   return s - s0;
 }
 
-static void my_wcstombs (char *dest, size_t dlen, const wchar_t * src,
+static void my_wcstombs (char *dest, ssize_t dlen, const wchar_t * src,
                          size_t slen)
 {
   mbstate_t st;
   size_t k;
 
   /* First convert directly into the destination buffer */
-  memset (&st, 0, sizeof (st));
+  p_clear(&st, 1);
   for (; slen && dlen >= MB_LEN_MAX; dest += k, dlen -= k, src++, slen--)
     if ((k = wcrtomb (dest, *src, &st)) == (size_t) (-1))
       break;
@@ -120,7 +120,7 @@ static void my_wcstombs (char *dest, size_t dlen, const wchar_t * src,
   }
 }
 
-size_t my_mbstowcs (wchar_t ** pwbuf, size_t * pwbuflen, size_t i, char *buf)
+size_t my_mbstowcs (wchar_t ** pwbuf, size_t * pwbuflen, size_t i, const char *buf)
 {
   wchar_t wc;
   mbstate_t st;
@@ -129,7 +129,7 @@ size_t my_mbstowcs (wchar_t ** pwbuf, size_t * pwbuflen, size_t i, char *buf)
   size_t wbuflen;
 
   wbuf = *pwbuf, wbuflen = *pwbuflen;
-  memset (&st, 0, sizeof (st));
+  p_clear(&st, 1);
   for (; (k = mbrtowc (&wc, buf, MB_LEN_MAX, &st)) &&
        k != (size_t) (-1) && k != (size_t) (-2); buf += k) {
     if (i >= wbuflen) {
@@ -155,7 +155,7 @@ static void replace_part (ENTER_STATE *state, size_t from, const char *buf)
   memcpy (savebuf, state->wbuf + state->curpos, savelen * sizeof (wchar_t));
 
   /* Convert to wide characters */
-  state->curpos = my_mbstowcs (&state->wbuf, &state->wbuflen, from, buf);
+  state->curpos = my_mbstowcs(&state->wbuf, &state->wbuflen, from, buf);
 
   /* Make space for suffix */
   if (state->curpos + savelen > state->wbuflen) {
@@ -205,7 +205,7 @@ int _mutt_enter_string (char *buf, size_t buflen, int y, int x,
 
   int rv = 0;
 
-  memset (&mbstate, 0, sizeof (mbstate));
+  p_clear(&mbstate, 1);
 
   if (state->wbuf) {
     /* Coming back after return 1 */
@@ -503,7 +503,7 @@ int _mutt_enter_string (char *buf, size_t buflen, int y, int x,
           goto bye;
         } else if (flags & M_COMMAND) {
           my_wcstombs (buf, buflen, state->wbuf, state->curpos);
-          i = str_len (buf);
+          i = m_strlen(buf);
           if (i && buf[i - 1] == '=' &&
               mutt_var_value_complete (buf, buflen, i))
             state->tabs = 0;
@@ -616,7 +616,7 @@ int _mutt_enter_string (char *buf, size_t buflen, int y, int x,
         if (k == (size_t) (-2))
           continue;
         else if (k && k != 1) {
-          memset (&mbstate, 0, sizeof (mbstate));
+          p_clear(&mbstate, 1);
           continue;
         }
       }
@@ -639,7 +639,7 @@ int _mutt_enter_string (char *buf, size_t buflen, int y, int x,
           *numfiles = 1;
           tfiles = p_new(char *, *numfiles);
           mutt_expand_path (buf, buflen);
-          tfiles[0] = str_dup (buf);
+          tfiles[0] = m_strdup(buf);
           *files = tfiles;
         }
         rv = 0;