treewide: Replace <name>_cnt by n_<name>s and <name>_cap by allocated_<name>.
[pspp] / src / data / any-reader.c
index aee034ce319ae8131669305e3e3fa6aa4fc9ec3b..5a20ccef8360d6cd7f6c225afc5b3feb7a972330 100644 (file)
@@ -51,7 +51,7 @@ static const struct any_reader_class *classes[] =
 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
@@ -66,11 +66,11 @@ any_reader_detect (const char *file_name,
   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;
     }
 
@@ -90,9 +90,9 @@ any_reader_detect (const char *file_name,
     }
 
   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;
 }
@@ -107,7 +107,7 @@ any_reader_open (struct file_handle *handle)
         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)
@@ -129,6 +129,10 @@ any_reader_open (struct file_handle *handle)
   NOT_REACHED ();
 }
 
+/* gnulib on some systems defines "close" as something else,
+   which causes problems for this code.  So undefine it here.  */
+#undef close
+
 bool
 any_reader_close (struct any_reader *any_reader)
 {
@@ -222,7 +226,7 @@ static bool
 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);
 
@@ -244,7 +248,7 @@ dataset_reader_decode (struct any_reader *r_, const char *encoding UNUSED,
       info->integer_format = INTEGER_NATIVE;
       info->float_format = FLOAT_NATIVE_DOUBLE;
       info->compression = ANY_COMP_NONE;
-      info->case_cnt = casereader_get_case_cnt (reader);
+      info->n_cases = casereader_get_n_cases (reader);
     }
   free (r);