#include <config.h>
#include "data/encrypted-file.h"
+#include "data/file-handle-def.h"
#include <errno.h>
#include <stdlib.h>
If FILENAME cannot be open or read, returns a negative errno value. */
int
-encrypted_file_open (struct encrypted_file **fp, const char *filename)
+encrypted_file_open (struct encrypted_file **fp, const struct file_handle *fh)
{
struct encrypted_file *f;
char header[36 + 16];
f = xmalloc (sizeof *f);
f->error = 0;
- f->file = fn_open (filename, "rb");
+ f->file = fn_open (fh, "rb");
if (f->file == NULL)
{
msg (ME, _("An error occurred while opening `%s': %s."),
- filename, strerror (errno));
+ fh_get_file_name (fh), strerror (errno));
retval = -errno;
goto error;
}
int error = feof (f->file) ? 0 : errno;
if (error)
msg (ME, _("An error occurred while reading `%s': %s."),
- filename, strerror (error));
+ fh_get_file_name (fh), strerror (error));
retval = -error;
goto error;
}
error:
if (f->file)
- fn_close (filename, f->file);
+ fn_close (fh, f->file);
free (f);
*fp = NULL;