X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=enter.c;h=95c26bdf5c2e7baec68ef14706a86a39487538c4;hp=cd98df94558ac5c1c1990ca180bad0fe12cd83b7;hb=21595f98b7c8132f99abb9fee60ecdce31fc980f;hpb=18ea5e8b861632627335b8d94787c742dbf5f567 diff --git a/enter.c b/enter.c index cd98df9..95c26bd 100644 --- a/enter.c +++ b/enter.c @@ -12,14 +12,16 @@ # include "config.h" #endif +#include + #include "mutt.h" +#include "enter.h" #include "mutt_menu.h" #include "mutt_curses.h" #include "keymap.h" #include "history.h" #include "buffy.h" -#include "lib/mem.h" #include @@ -85,7 +87,7 @@ static void my_wcstombs (char *dest, size_t dlen, const wchar_t * src, 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; @@ -127,12 +129,12 @@ 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) { wbuflen = i + 20; - safe_realloc (&wbuf, wbuflen * sizeof (*wbuf)); + p_realloc(&wbuf, wbuflen); } wbuf[i++] = wc; } @@ -144,11 +146,11 @@ size_t my_mbstowcs (wchar_t ** pwbuf, size_t * pwbuflen, size_t i, char *buf) * Replace part of the wchar_t buffer, from FROM to CURPOS, by BUF. */ -static void replace_part (ENTER_STATE * state, size_t from, char *buf) +static void replace_part (ENTER_STATE *state, size_t from, const char *buf) { /* Save the suffix */ size_t savelen = state->lastchar - state->curpos; - wchar_t *savebuf = safe_calloc (savelen, sizeof (wchar_t)); + wchar_t *savebuf = p_new(wchar_t, savelen); memcpy (savebuf, state->wbuf + state->curpos, savelen * sizeof (wchar_t)); @@ -158,14 +160,14 @@ static void replace_part (ENTER_STATE * state, size_t from, char *buf) /* Make space for suffix */ if (state->curpos + savelen > state->wbuflen) { state->wbuflen = state->curpos + savelen; - safe_realloc (&state->wbuf, state->wbuflen * sizeof (wchar_t)); + p_realloc(&state->wbuf, state->wbuflen); } /* Restore suffix */ memcpy (state->wbuf + state->curpos, savebuf, savelen * sizeof (wchar_t)); state->lastchar = state->curpos + savelen; - FREE (&savebuf); + p_delete(&savebuf); } /* @@ -203,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 */ @@ -274,13 +276,13 @@ int _mutt_enter_string (char *buf, size_t buflen, int y, int x, switch (ch) { case OP_EDITOR_HISTORY_UP: state->curpos = state->lastchar; - replace_part (state, 0, mutt_history_prev (hclass)); + replace_part(state, 0, mutt_history_prev(hclass)); redraw = M_REDRAW_INIT; break; case OP_EDITOR_HISTORY_DOWN: state->curpos = state->lastchar; - replace_part (state, 0, mutt_history_next (hclass)); + replace_part(state, 0, mutt_history_next(hclass)); redraw = M_REDRAW_INIT; break; @@ -468,7 +470,7 @@ int _mutt_enter_string (char *buf, size_t buflen, int y, int x, } if (!mutt_complete (buf, buflen)) { templen = state->lastchar - i; - safe_realloc (&tempbuf, templen * sizeof (wchar_t)); + p_realloc(&tempbuf, templen); } else BEEP (); @@ -501,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 = mutt_strlen (buf); + i = m_strlen(buf); if (i && buf[i - 1] == '=' && mutt_var_value_complete (buf, buflen, i)) state->tabs = 0; @@ -536,7 +538,7 @@ int _mutt_enter_string (char *buf, size_t buflen, int y, int x, if (!mutt_complete (buf, buflen)) { templen = state->lastchar; - safe_realloc (&tempbuf, templen * sizeof (wchar_t)); + p_realloc(&tempbuf, templen); memcpy (tempbuf, state->wbuf, templen * sizeof (wchar_t)); } else @@ -614,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; } } @@ -635,9 +637,9 @@ int _mutt_enter_string (char *buf, size_t buflen, int y, int x, char **tfiles; *numfiles = 1; - tfiles = safe_calloc (*numfiles, sizeof (char *)); + tfiles = p_new(char *, *numfiles); mutt_expand_path (buf, buflen); - tfiles[0] = safe_strdup (buf); + tfiles[0] = m_strdup(buf); *files = tfiles; } rv = 0; @@ -646,7 +648,7 @@ int _mutt_enter_string (char *buf, size_t buflen, int y, int x, else if (wc && (wc < ' ' || IsWPrint (wc))) { /* why? */ if (state->lastchar >= state->wbuflen) { state->wbuflen = state->lastchar + 20; - safe_realloc (&state->wbuf, state->wbuflen * sizeof (wchar_t)); + p_realloc(&state->wbuf, state->wbuflen); } memmove (state->wbuf + state->curpos + 1, state->wbuf + state->curpos, (state->lastchar - state->curpos) * sizeof (wchar_t)); @@ -662,7 +664,7 @@ int _mutt_enter_string (char *buf, size_t buflen, int y, int x, bye: - FREE (&tempbuf); + p_delete(&tempbuf); return rv; } @@ -671,8 +673,8 @@ void mutt_free_enter_state (ENTER_STATE ** esp) if (!esp) return; - FREE (&(*esp)->wbuf); - FREE (esp); + p_delete(&(*esp)->wbuf); + p_delete(esp); } /*