X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/64e8827c5d5def0325ab7181fe939623c77e807c..ef1ba39e8dae81091b6c3e73e72825ef6edea3c6:/uip/viamail.c diff --git a/uip/viamail.c b/uip/viamail.c index 13447382..1514ef88 100644 --- a/uip/viamail.c +++ b/uip/viamail.c @@ -9,7 +9,6 @@ #include #include -#include #include #include #include @@ -57,10 +56,7 @@ main (int argc, char **argv) char *cp, buf[BUFSIZ]; char **argp, **arguments; - setlocale(LC_ALL, ""); - invo_name = r1bindex (argv[0], '/'); - - context_read(); + if (nmh_init(argv[0], 2)) { return 1; } arguments = getarguments (invo_name, argc, argv, 0); argp = arguments; @@ -158,9 +154,9 @@ via_mail (char *mailsw, char *subjsw, char *parmsw, char *descsw, umask (~m_gmprot ()); - tfile = m_mktemp2(NULL, invo_name, NULL, &fp); - if (tfile == NULL) adios("viamail", "unable to create temporary file"); - chmod(tfile, 0600); + if ((tfile = m_mktemp2(NULL, invo_name, NULL, &fp)) == NULL) { + adios(NULL, "unable to create temporary file in %s", get_temp_dir()); + } strncpy (tmpfil, tfile, sizeof(tmpfil)); if (!strchr(mailsw, '@')) @@ -193,7 +189,7 @@ via_mail (char *mailsw, char *subjsw, char *parmsw, char *descsw, if (fflush (fp)) adios (tmpfil, "error writing to"); - writeBase64aux (stdin, fp); + writeBase64aux (stdin, fp, 0); if (fflush (fp)) adios (tmpfil, "error writing to"); @@ -217,7 +213,7 @@ via_mail (char *mailsw, char *subjsw, char *parmsw, char *descsw, vec[vecp++] = cp; } - switch (sendsbr (vec, vecp, program, tmpfil, &st, 0)) { + switch (sendsbr (vec, vecp, program, tmpfil, &st, 0, NULL)) { case DONE: case NOTOK: status++; @@ -227,8 +223,8 @@ via_mail (char *mailsw, char *subjsw, char *parmsw, char *descsw, } fclose (fp); - if (unlink (tmpfil) == -1) - advise (NULL, "unable to remove temp file %s", tmpfil); + if (m_unlink (tmpfil) == -1) + advise (tmpfil, "unable to remove temp file %s", tmpfil); done (status); return 1; }