aboutsummaryrefslogtreecommitdiffstats
path: root/tools/send-mail.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/send-mail.c')
-rw-r--r--tools/send-mail.c20
1 files changed, 15 insertions, 5 deletions
diff --git a/tools/send-mail.c b/tools/send-mail.c
index 34d47c16d..fb1a9d0c9 100644
--- a/tools/send-mail.c
+++ b/tools/send-mail.c
@@ -71,13 +71,23 @@ send_mail_to_file (estream_t fp, const char *fname)
if (!buffer)
return gpg_error_from_syserror ();
- outfp = !strcmp (fname,"-")? es_stdout : es_fopen (fname, "wb");
- if (!outfp)
+
+ if (!strcmp (fname,"-"))
{
- err = gpg_error_from_syserror ();
- log_error ("error creating '%s': %s\n", fname, gpg_strerror (err));
- goto leave;
+ outfp = es_stdout;
+ es_set_binary (es_stdout);
}
+ else
+ {
+ outfp = es_fopen (fname, "wb");
+ if (!outfp)
+ {
+ err = gpg_error_from_syserror ();
+ log_error ("error creating '%s': %s\n", fname, gpg_strerror (err));
+ goto leave;
+ }
+ }
+
for (;;)
{
if (es_read (fp, buffer, sizeof buffer, &nbytes))