struct Context *ctx = fc->ctx;
struct NntpData *nntp_data = ctx->data;
struct Header *hdr = NULL;
- FILE *fp = NULL;
- char tempfile[_POSIX_PATH_MAX];
char *header = NULL, *field = NULL;
bool save = true;
anum_t anum;
}
/* convert overview line to header */
- mutt_mktemp(tempfile, sizeof(tempfile));
- fp = mutt_file_fopen(tempfile, "w+");
+ FILE *fp = mutt_file_mkstemp();
if (!fp)
return -1;
if (strstr(header, ":full") == NULL && fputs(header, fp) == EOF)
{
mutt_file_fclose(&fp);
- unlink(tempfile);
return -1;
}
header = strchr(header, '\0') + 1;
if (fputs(b, fp) == EOF || fputc('\n', fp) == EOF)
{
mutt_file_fclose(&fp);
- unlink(tempfile);
return -1;
}
}
hdr->env->newsgroups = mutt_str_strdup(nntp_data->group);
hdr->received = hdr->date_sent;
mutt_file_fclose(&fp);
- unlink(tempfile);
#ifdef USE_HCACHE
if (fc->hc)
/* fetch header from server */
else
{
- char tempfile[_POSIX_PATH_MAX];
-
- mutt_mktemp(tempfile, sizeof(tempfile));
- FILE *fp = mutt_file_fopen(tempfile, "w+");
+ FILE *fp = mutt_file_mkstemp();
if (!fp)
{
- mutt_perror(tempfile);
- unlink(tempfile);
+ mutt_perror("mutt_file_mkstemp() failed!");
rc = -1;
break;
}
if (rc)
{
mutt_file_fclose(&fp);
- unlink(tempfile);
if (rc < 0)
break;
hdr->env = mutt_rfc822_read_header(fp, hdr, 0, 0);
hdr->received = hdr->date_sent;
mutt_file_fclose(&fp);
- unlink(tempfile);
}
/* save header in context */
int nntp_check_msgid(struct Context *ctx, const char *msgid)
{
struct NntpData *nntp_data = ctx->data;
- char tempfile[_POSIX_PATH_MAX];
char buf[LONG_STRING];
- mutt_mktemp(tempfile, sizeof(tempfile));
- FILE *fp = mutt_file_fopen(tempfile, "w+");
+ FILE *fp = mutt_file_mkstemp();
if (!fp)
{
- mutt_perror(tempfile);
- unlink(tempfile);
+ mutt_perror("mutt_file_mkstemp() failed!");
return -1;
}
if (rc)
{
mutt_file_fclose(&fp);
- unlink(tempfile);
if (rc < 0)
return -1;
if (mutt_str_strncmp("430", buf, 3) == 0)
hdr->data = mutt_mem_calloc(1, sizeof(struct NntpHeaderData));
hdr->env = mutt_rfc822_read_header(fp, hdr, 0, 0);
mutt_file_fclose(&fp);
- unlink(tempfile);
/* get article number */
if (hdr->env->xref)