projects
/
apps
/
madmutt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
wibble
[apps/madmutt.git]
/
attach.c
diff --git
a/attach.c
b/attach.c
index
d32f80c
..
4e6fff1
100644
(file)
--- a/
attach.c
+++ b/
attach.c
@@
-11,11
+11,10
@@
#include <lib-lib/lib-lib.h>
#include <lib-sys/unix.h>
#include <lib-lib/lib-lib.h>
#include <lib-sys/unix.h>
-
#include <lib-mime/mime.h>
#include <lib-mime/mime.h>
-
#include <lib-ui/curses.h>
#include <lib-ui/menu.h>
#include <lib-ui/curses.h>
#include <lib-ui/menu.h>
+#include <lib-mx/mx.h>
#include "mutt.h"
#include "handler.h"
#include "mutt.h"
#include "handler.h"
@@
-23,7
+22,6
@@
#include "keymap.h"
#include "pager.h"
#include "copy.h"
#include "keymap.h"
#include "pager.h"
#include "copy.h"
-#include "mx.h"
#include <lib-crypt/crypt.h>
int mutt_get_tmp_attachment (BODY * a)
#include <lib-crypt/crypt.h>
int mutt_get_tmp_attachment (BODY * a)
@@
-58,10
+56,8
@@
int mutt_get_tmp_attachment (BODY * a)
else
mutt_perror(fpin ? tempfile : a->filename);
else
mutt_perror(fpin ? tempfile : a->filename);
- if (fpin)
- fclose (fpin);
- if (fpout)
- fclose (fpout);
+ m_fclose(&fpin);
+ m_fclose(&fpout);
return a->unlink ? 0 : -1;
}
return a->unlink ? 0 : -1;
}
@@
-113,7
+109,6
@@
int mutt_compose_attachment (BODY * a)
if (r != -1 && entry->composetypecommand) {
BODY *b;
FILE *fp, *tfp;
if (r != -1 && entry->composetypecommand) {
BODY *b;
FILE *fp, *tfp;
- char tempfile[_POSIX_PATH_MAX];
if ((fp = safe_fopen (a->filename, "r")) == NULL) {
mutt_perror (_("Failure to open file to parse headers."));
if ((fp = safe_fopen (a->filename, "r")) == NULL) {
mutt_perror (_("Failure to open file to parse headers."));
@@
-123,6
+118,8
@@
int mutt_compose_attachment (BODY * a)
b = mutt_read_mime_header (fp, 0);
if (b) {
b = mutt_read_mime_header (fp, 0);
if (b) {
+ char tempfile[_POSIX_PATH_MAX];
+
if (b->parameter) {
parameter_list_wipe(&a->parameter);
a->parameter = b->parameter;
if (b->parameter) {
parameter_list_wipe(&a->parameter);
a->parameter = b->parameter;
@@
-142,15
+139,14
@@
int mutt_compose_attachment (BODY * a)
/* Remove headers by copying out data to another file, then
* copying the file back */
fseeko (fp, b->offset, 0);
/* Remove headers by copying out data to another file, then
* copying the file back */
fseeko (fp, b->offset, 0);
-
mutt_mktemp (tempfile
);
- if (
(tfp = safe_fopen (tempfile, "w")) == NULL
) {
+
tfp = m_tempfile(tempfile, sizeof(tempfile), NONULL(Tempdir), NULL
);
+ if (
!tfp
) {
mutt_perror (_("Failure to open file to strip headers."));
mutt_perror (_("Failure to open file to strip headers."));
-
goto bailout;
}
mutt_copy_stream (fp, tfp);
goto bailout;
}
mutt_copy_stream (fp, tfp);
-
fclose (
fp);
-
fclose (
tfp);
+
m_fclose(&
fp);
+
m_fclose(&
tfp);
mutt_unlink (a->filename);
if (mutt_rename_file (tempfile, a->filename) != 0) {
mutt_perror (_("Failure to rename file."));
mutt_unlink (a->filename);
if (mutt_rename_file (tempfile, a->filename) != 0) {
mutt_perror (_("Failure to rename file."));
@@
-452,9
+448,9
@@
int mutt_view_attachment (FILE * fp, BODY * a, int flag, HEADER * hdr,
/* recv case */
m_strcpy(pagerfile, sizeof(pagerfile), a->filename);
mutt_adv_mktemp (NULL, pagerfile, sizeof (pagerfile));
/* recv case */
m_strcpy(pagerfile, sizeof(pagerfile), a->filename);
mutt_adv_mktemp (NULL, pagerfile, sizeof (pagerfile));
- }
- else
+ } else {
mutt_mktemp (pagerfile);
mutt_mktemp (pagerfile);
+ }
}
if (use_mailcap) {
}
if (use_mailcap) {
@@
-616,7
+612,7
@@
int mutt_pipe_attachment (FILE * fp, BODY * b, const char *path,
s.fpin = fp;
mutt_decode_attachment (b, &s);
s.fpin = fp;
mutt_decode_attachment (b, &s);
-
safe_fclose
(&s.fpout);
+
m_fclose
(&s.fpout);
}
else {
/* send case */
}
else {
/* send case */
@@
-640,13
+636,13
@@
int mutt_pipe_attachment (FILE * fp, BODY * b, const char *path,
if (thepid < 0) {
mutt_perror (_("Can't create filter"));
if (thepid < 0) {
mutt_perror (_("Can't create filter"));
-
safe_fclose
(&ifp);
+
m_fclose
(&ifp);
goto bail;
}
mutt_copy_stream (ifp, ofp);
goto bail;
}
mutt_copy_stream (ifp, ofp);
-
safe_fclose
(&ofp);
-
safe_fclose
(&ifp);
+
m_fclose
(&ofp);
+
m_fclose
(&ifp);
}
rv = 1;
}
rv = 1;
@@
-744,13
+740,12
@@
int mutt_save_attachment (FILE * fp, BODY * m, char *path, int flags,
fseeko ((s.fpin = fp), m->offset, 0);
mutt_decode_attachment (m, &s);
fseeko ((s.fpin = fp), m->offset, 0);
mutt_decode_attachment (m, &s);
- if (
fclose (
s.fpout) != 0) {
+ if (
m_fclose(&
s.fpout) != 0) {
mutt_perror ("fclose");
return (-1);
}
}
mutt_perror ("fclose");
return (-1);
}
}
- }
- else {
+ } else {
/* In send mode, just copy file */
FILE *ofp, *nfp;
/* In send mode, just copy file */
FILE *ofp, *nfp;
@@
-762,19
+757,19
@@
int mutt_save_attachment (FILE * fp, BODY * m, char *path, int flags,
if ((nfp = mutt_save_attachment_open (path, flags)) == NULL) {
mutt_perror ("fopen");
if ((nfp = mutt_save_attachment_open (path, flags)) == NULL) {
mutt_perror ("fopen");
-
safe_fclose
(&ofp);
+
m_fclose
(&ofp);
return (-1);
}
if (mutt_copy_stream (ofp, nfp) == -1) {
mutt_error _("Write fault!");
return (-1);
}
if (mutt_copy_stream (ofp, nfp) == -1) {
mutt_error _("Write fault!");
-
safe_fclose
(&ofp);
-
safe_fclose
(&nfp);
+
m_fclose
(&ofp);
+
m_fclose
(&nfp);
return (-1);
}
return (-1);
}
-
safe_fclose
(&ofp);
-
safe_fclose
(&nfp);
+
m_fclose
(&ofp);
+
m_fclose
(&nfp);
}
return 0;
}
return 0;
@@
-811,7
+806,7
@@
int mutt_decode_save_attachment (FILE * fp, BODY * m, char *path,
if (stat (m->filename, &st) == -1) {
mutt_perror ("stat");
if (stat (m->filename, &st) == -1) {
mutt_perror ("stat");
-
fclose (
s.fpout);
+
m_fclose(&
s.fpout);
return (-1);
}
return (-1);
}
@@
-840,7
+835,7
@@
int mutt_decode_save_attachment (FILE * fp, BODY * m, char *path,
mutt_body_handler (m, &s);
mutt_body_handler (m, &s);
-
fclose (
s.fpout);
+
m_fclose(&
s.fpout);
if (fp == NULL) {
m->length = 0;
m->encoding = saved_encoding;
if (fp == NULL) {
m->length = 0;
m->encoding = saved_encoding;
@@
-849,7
+844,7
@@
int mutt_decode_save_attachment (FILE * fp, BODY * m, char *path,
m->parts = saved_parts;
m->hdr = saved_hdr;
}
m->parts = saved_parts;
m->hdr = saved_hdr;
}
-
fclose (
s.fpin);
+
m_fclose(&
s.fpin);
}
return (0);
}
return (0);
@@
-917,12
+912,12
@@
int mutt_print_attachment (FILE * fp, BODY * a)
mutt_perror (_("Can't create filter"));
rfc1524_entry_delete(&entry);
mutt_perror (_("Can't create filter"));
rfc1524_entry_delete(&entry);
-
safe_fclose
(&ifp);
+
m_fclose
(&ifp);
return 0;
}
mutt_copy_stream (ifp, fpout);
return 0;
}
mutt_copy_stream (ifp, fpout);
-
safe_fclose
(&fpout);
-
safe_fclose
(&ifp);
+
m_fclose
(&fpout);
+
m_fclose
(&ifp);
if (mutt_wait_filter (thepid) || option (OPTWAITKEY))
mutt_any_key_to_continue (NULL);
}
if (mutt_wait_filter (thepid) || option (OPTWAITKEY))
mutt_any_key_to_continue (NULL);
}
@@
-970,16
+965,16
@@
int mutt_print_attachment (FILE * fp, BODY * a)
mutt_copy_stream (ifp, fpout);
mutt_copy_stream (ifp, fpout);
-
safe_fclose
(&fpout);
-
safe_fclose
(&ifp);
+
m_fclose
(&fpout);
+
m_fclose
(&ifp);
if (mutt_wait_filter (thepid) != 0 || option (OPTWAITKEY))
mutt_any_key_to_continue (NULL);
rc = 1;
}
bail0:
if (mutt_wait_filter (thepid) != 0 || option (OPTWAITKEY))
mutt_any_key_to_continue (NULL);
rc = 1;
}
bail0:
-
safe_fclose
(&ifp);
-
safe_fclose
(&fpout);
+
m_fclose
(&ifp);
+
m_fclose
(&fpout);
mutt_unlink (newfile);
return rc;
}
mutt_unlink (newfile);
return rc;
}
@@
-1012,7
+1007,7
@@
int mutt_attach_check (HEADER* hdr) {
p++;
}
}
p++;
}
}
-
fclose (
fp);
+
m_fclose(&
fp);
return (found);
}
return (found);
}