enum { N_CLASSES = sizeof classes / sizeof *classes };
int
-any_reader_detect (const char *file_name,
+any_reader_detect (const struct file_handle *file_handle,
const struct any_reader_class **classp)
{
struct detector
if (classp)
*classp = NULL;
- file = fn_open (file_name, "rb");
+ file = fn_open (file_handle, "rb");
if (file == NULL)
{
msg (ME, _("An error occurred while opening `%s': %s."),
- file_name, strerror (errno));
+ fh_get_file_name (file_handle), strerror (errno));
return -errno;
}
}
if (retval < 0)
- msg (ME, _("Error reading `%s': %s."), file_name, strerror (-retval));
+ msg (ME, _("Error reading `%s': %s."), fh_get_file_name (file_handle), strerror (-retval));
- fn_close (file_name, file);
+ fn_close (file_handle, file);
return retval;
}
const struct any_reader_class *class;
int retval;
- retval = any_reader_detect (fh_get_file_name (handle), &class);
+ retval = any_reader_detect (handle, &class);
if (retval <= 0)
{
if (retval == 0)
dataset_reader_close (struct any_reader *r_)
{
struct dataset_reader *r = dataset_reader_cast (r_);
- dict_destroy (r->dict);
+ dict_unref (r->dict);
casereader_destroy (r->reader);
free (r);