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;
}
}
-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;
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) {
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) {
int rv = 0;
- memset (&mbstate, 0, sizeof (mbstate));
+ p_clear(&mbstate, 1);
if (state->wbuf) {
/* Coming back after return 1 */
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;
if (k == (size_t) (-2))
continue;
else if (k && k != 1) {
- memset (&mbstate, 0, sizeof (mbstate));
+ p_clear(&mbstate, 1);
continue;
}
}
*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;