X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=edit.c;h=47f44809b2344659cc8979ef6c78421abd66c009;hp=d3818f6b8cfe7bd16cbec37698d3ed68a5249cf5;hb=9aae63e2d1cce39bb0928362416a8d17b953ca5e;hpb=96d53ff49c308769efbf708e1e65819077cb7af6 diff --git a/edit.c b/edit.c index d3818f6..47f4480 100644 --- a/edit.c +++ b/edit.c @@ -13,13 +13,16 @@ # include "config.h" #endif +#include +#include +#include +#include + #include "mutt.h" +#include "enter.h" #include "mutt_curses.h" #include "mutt_idna.h" -#include "lib/mem.h" -#include "lib/intl.h" -#include "lib/str.h" #include #include @@ -33,7 +36,7 @@ * SLcurses_waddnstr() can't take a "const char *", so this is only * declared "static" (sigh) */ -static char *EditorHelp = N_("\ +static const char *EditorHelp = N_("\ ~~ insert a line begining with a single ~\n\ ~b users add users to the Bcc: field\n\ ~c users add users to the Cc: field\n\ @@ -54,7 +57,7 @@ static char *EditorHelp = N_("\ . on a line by itself ends input\n"); static char **be_snarf_data (FILE * f, char **buf, int *bufmax, int *buflen, - int offset, int bytes, int prefix) + off_t offset, int bytes, int prefix) { char tmp[HUGE_STRING]; char *p = tmp; @@ -63,22 +66,22 @@ static char **be_snarf_data (FILE * f, char **buf, int *bufmax, int *buflen, tmp[sizeof (tmp) - 1] = 0; if (prefix) { strfcpy (tmp, NONULL (Prefix), sizeof (tmp)); - tmplen = mutt_strlen (tmp); + tmplen = m_strlen(tmp); p = tmp + tmplen; tmplen = sizeof (tmp) - tmplen; } - fseek (f, offset, 0); + fseeko (f, offset, 0); while (bytes > 0) { if (fgets (p, tmplen - 1, f) == NULL) break; - bytes -= mutt_strlen (p); + bytes -= m_strlen(p); if (*bufmax == *buflen) - safe_realloc (&buf, sizeof (char *) * (*bufmax += 25)); - buf[(*buflen)++] = safe_strdup (tmp); + p_realloc(&buf, *bufmax += 25); + buf[(*buflen)++] = m_strdup(tmp); } if (buf && *bufmax == *buflen) { /* Do not smash memory past buf */ - safe_realloc (&buf, sizeof (char *) * (++*bufmax)); + p_realloc(&buf, ++*bufmax); } if (buf) buf[*buflen] = NULL; @@ -130,9 +133,9 @@ static int be_barf_file (const char *path, char **buf, int buflen) static void be_free_memory (char **buf, int buflen) { while (buflen-- > 0) - FREE (&buf[buflen]); + p_delete(&buf[buflen]); if (buf) - FREE (&buf); + p_delete(&buf); } static char **be_include_messages (char *msg, char **buf, int *bufmax, @@ -154,8 +157,8 @@ static char **be_include_messages (char *msg, char **buf, int *bufmax, } if (*bufmax == *buflen) - safe_realloc (&buf, sizeof (char *) * (*bufmax += 25)); - buf[(*buflen)++] = safe_strdup (tmp); + p_realloc(&buf, *bufmax += 25); + buf[(*buflen)++] = m_strdup(tmp); bytes = Context->hdrs[n]->content->length; if (inc_hdrs) { @@ -168,8 +171,8 @@ static char **be_include_messages (char *msg, char **buf, int *bufmax, pfx); if (*bufmax == *buflen) - safe_realloc (&buf, sizeof (char *) * (*bufmax += 25)); - buf[(*buflen)++] = safe_strdup ("\n"); + p_realloc(&buf, *bufmax += 25); + buf[(*buflen)++] = m_strdup("\n"); } else printw (_("%d: invalid message number.\n"), n); @@ -316,7 +319,7 @@ int mutt_builtin_editor (const char *path, HEADER * msg, HEADER * cur) if (EscChar && tmp[0] == EscChar[0] && tmp[1] != EscChar[0]) { /* remove trailing whitespace from the line */ - p = tmp + mutt_strlen (tmp) - 1; + p = tmp + m_strlen(tmp) - 1; while (p >= tmp && ISSPACE (*p)) *p-- = 0; @@ -345,9 +348,9 @@ int mutt_builtin_editor (const char *path, HEADER * msg, HEADER * cur) if (Context) { if (!*p && cur) { /* include the current message */ - p = tmp + mutt_strlen (tmp) + 1; - snprintf (tmp + mutt_strlen (tmp), - sizeof (tmp) - mutt_strlen (tmp), " %d", + p = tmp + m_strlen(tmp) + 1; + snprintf (tmp + m_strlen(tmp), + sizeof (tmp) - m_strlen(tmp), " %d", cur->msgno + 1); } buf = be_include_messages (p, buf, &bufmax, &buflen, @@ -389,8 +392,8 @@ int mutt_builtin_editor (const char *path, HEADER * msg, HEADER * cur) if (buflen) { buflen--; strfcpy (tmp, buf[buflen], sizeof (tmp)); - tmp[mutt_strlen (tmp) - 1] = 0; - FREE (&buf[buflen]); + tmp[m_strlen(tmp) - 1] = 0; + p_delete(&buf[buflen]); buf[buflen] = NULL; continue; } @@ -401,7 +404,7 @@ int mutt_builtin_editor (const char *path, HEADER * msg, HEADER * cur) case 'e': case 'v': if (be_barf_file (path, buf, buflen) == 0) { - char *tag, *err; + const char *tag, *err; be_free_memory (buf, buflen); buf = NULL; @@ -433,13 +436,13 @@ int mutt_builtin_editor (const char *path, HEADER * msg, HEADER * cur) break; } } - else if (mutt_strcmp (".", tmp) == 0) + else if (str_cmp (".", tmp) == 0) done = 1; else { - safe_strcat (tmp, sizeof (tmp), "\n"); + str_cat (tmp, sizeof (tmp), "\n"); if (buflen == bufmax) - safe_realloc (&buf, sizeof (char *) * (bufmax += 25)); - buf[buflen++] = safe_strdup (tmp[1] == '~' ? tmp + 1 : tmp); + p_realloc(&buf, bufmax += 25); + buf[buflen++] = m_strdup(tmp[1] == '~' ? tmp + 1 : tmp); } tmp[0] = 0;