X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=sendlib.c;h=0dca3d5c3606e9aef963eb78c797b5fe62f36fa7;hp=d55cd55580eca7c6a14cbbfc815b74677ed5e679;hb=8e037c67a88cb4680c4391134c578e3b55a80f8a;hpb=ef7b80006ebb47372d69c64e8b2b2f0764333d55 diff --git a/sendlib.c b/sendlib.c index d55cd55..0dca3d5 100644 --- a/sendlib.c +++ b/sendlib.c @@ -13,6 +13,8 @@ # include "config.h" #endif +#include + #include "mutt.h" #include "ascii.h" #include "handler.h" @@ -318,7 +320,7 @@ int mutt_write_mime_header (BODY * a, FILE * f) && !strcmp (buffer, tmp)) snprintf (buffer, sizeof (buffer), "\"%s\"", tmp); - mem_free (&tmp); + p_delete(&tmp); tmplen = str_len (buffer) + str_len (p->attribute) + 1; @@ -360,7 +362,7 @@ int mutt_write_mime_header (BODY * a, FILE * f) tmp = str_dup (t); encode = rfc2231_encode_string (&tmp); rfc822_cat (buffer, sizeof (buffer), tmp, MimeSpecials); - mem_free (&tmp); + p_delete(&tmp); fprintf (f, "; filename%s=%s", encode ? "*" : "", buffer); } } @@ -709,10 +711,10 @@ static size_t convert_file_to (FILE * file, const char *fromcode, iconv_close (cd[i]); iconv_close (cd1); - mem_free (&cd); - mem_free (&infos); - mem_free (&score); - mem_free (&states); + p_delete(&cd); + p_delete(&infos); + p_delete(&score); + p_delete(&states); return ret; #else @@ -751,7 +753,7 @@ static size_t convert_file_from_to (FILE * file, } /* Copy them */ - tcode = mem_malloc (ncodes * sizeof (char *)); + tcode = p_new(char *, ncodes); for (c = tocodes, i = 0; c; c = c1 ? c1 + 1 : 0, i++) { if ((c1 = strchr (c, ':')) == c) continue; @@ -774,7 +776,7 @@ static size_t convert_file_from_to (FILE * file, tcode[cn] = 0; break; } - mem_free (&fcode); + p_delete(&fcode); } } else { @@ -789,9 +791,9 @@ static size_t convert_file_from_to (FILE * file, /* Free memory */ for (i = 0; i < ncodes; i++) - mem_free (&tcode[i]); + p_delete(&tcode[i]); - mem_free (tcode); + p_delete(tcode); return ret; } @@ -846,7 +848,7 @@ CONTENT *mutt_get_content_info (const char *fname, BODY * b) mutt_set_parameter ("charset", chsbuf, &b->parameter); } b->file_charset = fromcode; - mem_free (&tocode); + p_delete(&tocode); safe_fclose (&fp); return info; } @@ -1021,7 +1023,7 @@ void mutt_message_to_7bit (BODY * a, FILE * fp) mutt_write_mime_body (a->parts, fpout); cleanup: - mem_free (&line); + p_delete(&line); if (fpin && !fp) fclose (fpin); @@ -1185,7 +1187,7 @@ void mutt_update_encoding (BODY * a) mutt_set_encoding (a, info); mutt_stamp_attachment (a); - mem_free (&a->content); + p_delete(&a->content); a->content = info; } @@ -1448,7 +1450,7 @@ void mutt_write_references (LIST * r, FILE * f) fputs (ref[refcnt]->data, f); } - mem_free (&ref); + p_delete(&ref); } /* Note: all RFC2047 encoding should be done outside of this routine, except @@ -1612,25 +1614,19 @@ int mutt_write_rfc822_header (FILE * fp, ENVELOPE * env, BODY * attach, } if (mode == 0 && !privacy && option (OPTXMAILER) && !has_agent) { - struct utsname un; - char *os; + const char *os; if (OperatingSystem != NULL) { os = OperatingSystem; - } - else { - if (uname (&un) == -1) { - os = "UNIX"; - } - else { - os = un.sysname; - } + } else { + struct utsname un; + os = (uname(&un) == -1) ? "UNIX" : un.sysname; } /* Add a vanity header */ fprintf (fp, "User-Agent: %s (%s)\n", mutt_make_version (0), os); } - list_del (&hdrs, (list_del_t*) _mem_free); + list_del (&hdrs, (list_del_t*)xmemfree); return (ferror (fp) == 0 ? 0 : -1); } @@ -1659,7 +1655,7 @@ static void encode_headers (LIST * h) sprintf (h->data + i, ": %s", NONULL (tmp)); /* __SPRINTF_CHECKED__ */ - mem_free (&tmp); + p_delete(&tmp); } } @@ -1812,7 +1808,7 @@ static RETSIGTYPE alarm_handler (int sig) to the temporary file containing the stdout of the child process */ static int -send_msg (const char *path, char **args, const char *msg, char **tempfile) +send_msg(const char *path, const char **args, const char *msg, char **tempfile) { sigset_t set; int fd, st; @@ -1886,7 +1882,7 @@ send_msg (const char *path, char **args, const char *msg, char **tempfile) } else if (pid == -1) { unlink (msg); - mem_free (tempfile); + p_delete(tempfile); _exit (S_ERR); } @@ -1914,14 +1910,14 @@ send_msg (const char *path, char **args, const char *msg, char **tempfile) st = WIFEXITED (st) ? WEXITSTATUS (st) : S_ERR; if (SendmailWait && st == (0xff & EX_OK)) { unlink (*tempfile); /* no longer needed */ - mem_free (tempfile); + p_delete(tempfile); } } else { st = (SendmailWait > 0 && errno == EINTR && SigAlrm) ? S_BKG : S_ERR; if (SendmailWait > 0) { unlink (*tempfile); - mem_free (tempfile); + p_delete(tempfile); } } @@ -1932,7 +1928,7 @@ send_msg (const char *path, char **args, const char *msg, char **tempfile) if (kill (ppid, 0) == -1 && errno == ESRCH) { /* the parent is already dead */ unlink (*tempfile); - mem_free (tempfile); + p_delete(tempfile); } _exit (st); @@ -1950,8 +1946,8 @@ send_msg (const char *path, char **args, const char *msg, char **tempfile) return (st); } -static char **add_args (char **args, size_t * argslen, size_t * argsmax, - ADDRESS * addr) +static const char ** +add_args(const char **args, size_t *argslen, size_t *argsmax, ADDRESS * addr) { for (; addr; addr = addr->next) { /* weed out group mailboxes, since those are for display only */ @@ -1964,8 +1960,8 @@ static char **add_args (char **args, size_t * argslen, size_t * argsmax, return (args); } -static char **add_option(char **args, size_t * argslen, size_t * argsmax, - const char *s) +static const char ** +add_option(const char **args, size_t *argslen, size_t *argsmax, const char *s) { if (*argslen == *argsmax) { mem_realloc(&args, (*argsmax += 5) * sizeof (char *)); @@ -1980,7 +1976,7 @@ static int mutt_invoke_sendmail (ADDRESS * from, /* the sender */ int eightbit) { /* message contains 8bit chars */ char *ps = NULL, *path = NULL, *s = NULL, *childout = NULL; - char **args = NULL; + const char **args = NULL; size_t argslen = 0, argsmax = 0; int i; @@ -2027,7 +2023,7 @@ static int mutt_invoke_sendmail (ADDRESS * from, /* the sender */ if (!option (OPTNEWSSEND)) { #endif if (eightbit && option (OPTUSE8BITMIME)) - args = add_option (args, &argslen, &argsmax, "-B8BITMIME"); + args = add_option(args, &argslen, &argsmax, "-B8BITMIME"); if (option (OPTENVFROM)) { ADDRESS *f = NULL; @@ -2080,10 +2076,10 @@ static int mutt_invoke_sendmail (ADDRESS * from, /* the sender */ else unlink (childout); - mem_free (&childout); - mem_free (&path); - mem_free (&s); - mem_free (&args); + p_delete(&childout); + p_delete(&path); + p_delete(&s); + p_delete(&args); if (i == (EX_OK & 0xff)) i = 0; @@ -2145,7 +2141,7 @@ char *mutt_quote_string (const char *s) size_t rlen; rlen = str_len (s) + 3; - pr = r = (char *) mem_malloc (rlen); + pr = r = p_new(char, rlen); *pr++ = '"'; while (*s) { if (INVALID_CHAR (*s)) {