X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=lib-crypt%2Fpgpkey.c;h=16d9e4cb6b62c357c18f0fe6a77211064b7e85c2;hp=ddb8f1cd723bbc51c46d33a2e4d5650049a15abf;hb=916e4872caf252a5850e64f79427b9dd7808435d;hpb=1ee89902de184a640c171ae3285bff6882a791bd diff --git a/lib-crypt/pgpkey.c b/lib-crypt/pgpkey.c index ddb8f1c..16d9e4c 100644 --- a/lib-crypt/pgpkey.c +++ b/lib-crypt/pgpkey.c @@ -11,12 +11,12 @@ #include #include +#include #include #include #include -#include "mutt.h" #include "recvattach.h" #include "pgp.h" #include "pager.h" @@ -500,14 +500,15 @@ static pgp_key_t pgp_select_key (pgp_key_t keys, address_t * p, const char *s) case OP_VERIFY_KEY: - mutt_mktemp (tempfile); if ((devnull = fopen ("/dev/null", "w")) == NULL) { /* __FOPEN_CHECKED__ */ mutt_perror (_("Can't open /dev/null")); break; } - if ((fp = safe_fopen (tempfile, "w")) == NULL) { - fclose (devnull); + + fp = m_tempfile (tempfile, sizeof(tempfile), NONULL(Tempdir), NULL); + if (!fp) { + m_fclose(&devnull); mutt_perror (_("Can't create temporary file")); break; @@ -525,13 +526,13 @@ static pgp_key_t pgp_select_key (pgp_key_t keys, address_t * p, const char *s) mutt_perror (_("Can't create filter")); unlink (tempfile); - fclose (fp); - fclose (devnull); + m_fclose(&fp); + m_fclose(&devnull); } mutt_wait_filter (thepid); - fclose (fp); - fclose (devnull); + m_fclose(&fp); + m_fclose(&devnull); mutt_clear_error (); snprintf (cmd, sizeof (cmd), _("Key ID: 0x%s"), pgp_keyid (pgp_principal_key @@ -682,20 +683,21 @@ BODY *pgp_make_key_attachment (char *tempf) pgp_free_key (&key); if (!tempf) { - mutt_mktemp (tempfb); + tempfp = m_tempfile (tempfb, sizeof(tempfb), NONULL(Tempdir), NULL); tempf = tempfb; + } else { + tempfp = safe_fopen(tempf, "a"); } - if ((tempfp = safe_fopen (tempf, tempf == tempfb ? "w" : "a")) == NULL) { + if (!tempfp) { mutt_perror (_("Can't create temporary file")); - return NULL; } if ((devnull = fopen ("/dev/null", "w")) == NULL) { /* __FOPEN_CHECKED__ */ mutt_perror (_("Can't open /dev/null")); - fclose (tempfp); + m_fclose(&tempfp); if (tempf == tempfb) unlink (tempf); return NULL; @@ -710,15 +712,15 @@ BODY *pgp_make_key_attachment (char *tempf) mutt_perror (_("Can't create filter")); unlink (tempf); - fclose (tempfp); - fclose (devnull); + m_fclose(&tempfp); + m_fclose(&devnull); return NULL; } mutt_wait_filter (thepid); - fclose (tempfp); - fclose (devnull); + m_fclose(&tempfp); + m_fclose(&devnull); att = body_new(); att->filename = m_strdup(tempf); @@ -876,7 +878,7 @@ pgp_key_t pgp_getkeybyaddr (address_t * a, short abilities, pgp_ring_t keyring) return NULL; } -pgp_key_t pgp_getkeybystr (char *p, short abilities, pgp_ring_t keyring) +pgp_key_t pgp_getkeybystr (const char *p, short abilities, pgp_ring_t keyring) { string_list_t *hints = NULL; pgp_key_t keys;