X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=edit.c;h=88eeca369f6f1eac85fa3a8f73cbb2a8af449fc3;hp=fd1eeb26c3e6ff9bdbbc93722e7b25ed8b2d1421;hb=cf69ddd650f124d3aed242285434ba2b97fb4b79;hpb=df70e07e24add1869bcc9b7af2277d9d0c09a281 diff --git a/edit.c b/edit.c index fd1eeb2..88eeca3 100644 --- a/edit.c +++ b/edit.c @@ -1,19 +1,10 @@ /* + * Copyright notice from original mutt: * Copyright (C) 1996-2000 Michael R. Elkins - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. + * + * This file is part of mutt-ng, see http://www.muttng.org/. + * It's licensed under the GNU General Public License, + * please see the file GPL in the top level source directory. */ /* Close approximation of the mailx(1) builtin editor for sending mail. */ @@ -26,6 +17,10 @@ #include "mutt_curses.h" #include "mutt_idna.h" +#include "lib/mem.h" +#include "lib/intl.h" +#include "lib/str.h" + #include #include #include @@ -68,7 +63,7 @@ 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 = str_len (tmp); p = tmp + tmplen; tmplen = sizeof (tmp) - tmplen; } @@ -77,13 +72,13 @@ static char **be_snarf_data (FILE * f, char **buf, int *bufmax, int *buflen, while (bytes > 0) { if (fgets (p, tmplen - 1, f) == NULL) break; - bytes -= mutt_strlen (p); + bytes -= str_len (p); if (*bufmax == *buflen) - safe_realloc (&buf, sizeof (char *) * (*bufmax += 25)); - buf[(*buflen)++] = safe_strdup (tmp); + mem_realloc (&buf, sizeof (char *) * (*bufmax += 25)); + buf[(*buflen)++] = str_dup (tmp); } if (buf && *bufmax == *buflen) { /* Do not smash memory past buf */ - safe_realloc (&buf, sizeof (char *) * (++*bufmax)); + mem_realloc (&buf, sizeof (char *) * (++*bufmax)); } if (buf) buf[*buflen] = NULL; @@ -135,9 +130,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]); + mem_free (&buf[buflen]); if (buf) - FREE (&buf); + mem_free (&buf); } static char **be_include_messages (char *msg, char **buf, int *bufmax, @@ -159,8 +154,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); + mem_realloc (&buf, sizeof (char *) * (*bufmax += 25)); + buf[(*buflen)++] = str_dup (tmp); bytes = Context->hdrs[n]->content->length; if (inc_hdrs) { @@ -173,8 +168,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"); + mem_realloc (&buf, sizeof (char *) * (*bufmax += 25)); + buf[(*buflen)++] = str_dup ("\n"); } else printw (_("%d: invalid message number.\n"), n); @@ -250,7 +245,7 @@ static void be_edit_header (ENVELOPE * e, int force) addstr ("Subject: "); strfcpy (tmp, e->subject ? e->subject : "", sizeof (tmp)); if (mutt_enter_string (tmp, sizeof (tmp), LINES - 1, 9, 0) == 0) - mutt_str_replace (&e->subject, tmp); + str_replace (&e->subject, tmp); addch ('\n'); } @@ -321,7 +316,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 + str_len (tmp) - 1; while (p >= tmp && ISSPACE (*p)) *p-- = 0; @@ -350,9 +345,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 + str_len (tmp) + 1; + snprintf (tmp + str_len (tmp), + sizeof (tmp) - str_len (tmp), " %d", cur->msgno + 1); } buf = be_include_messages (p, buf, &bufmax, &buflen, @@ -384,7 +379,7 @@ int mutt_builtin_editor (const char *path, HEADER * msg, HEADER * cur) addstr (_("missing filename.\n")); break; case 's': - mutt_str_replace (&msg->env->subject, p); + str_replace (&msg->env->subject, p); break; case 't': msg->env->to = rfc822_parse_adrlist (msg->env->to, p); @@ -394,8 +389,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[str_len (tmp) - 1] = 0; + mem_free (&buf[buflen]); buf[buflen] = NULL; continue; } @@ -438,13 +433,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); + mem_realloc (&buf, sizeof (char *) * (bufmax += 25)); + buf[buflen++] = str_dup (tmp[1] == '~' ? tmp + 1 : tmp); } tmp[0] = 0;