treewide: Replace <name>_cnt by n_<name>s and <name>_cap by allocated_<name>.
[pspp] / src / data / csv-file-writer.c
index e3dff983dbb86dbb28658150838be1a93fb6609f..77224945bc9959aca8b18b2a64046bcd3f2031c6 100644 (file)
@@ -87,19 +87,6 @@ static void write_var_names (struct csv_writer *, const struct dictionary *);
 static bool write_error (const struct csv_writer *);
 static bool close_writer (struct csv_writer *);
 
-/* Initializes OPTS with default options for writing a CSV file. */
-void
-csv_writer_options_init (struct csv_writer_options *opts)
-{
-  opts->recode_user_missing = false;
-  opts->include_var_names = false;
-  opts->use_value_labels = false;
-  opts->use_print_formats = false;
-  opts->decimal = settings_get_decimal_char (FMT_F);
-  opts->delimiter = ',';
-  opts->qualifier = '"';
-}
-
 /* Opens the CSV file designated by file handle FH for writing cases from
    dictionary DICT according to the given OPTS.
 
@@ -123,7 +110,7 @@ csv_writer_open (struct file_handle *fh, const struct dictionary *dict,
 
   w->encoding = xstrdup (dict_get_encoding (dict));
 
-  w->n_csv_vars = dict_get_var_cnt (dict);
+  w->n_csv_vars = dict_get_n_vars (dict);
   w->csv_vars = xnmalloc (w->n_csv_vars, sizeof *w->csv_vars);
   for (i = 0; i < w->n_csv_vars; i++)
     {
@@ -156,7 +143,7 @@ csv_writer_open (struct file_handle *fh, const struct dictionary *dict,
   w->rf = replace_file_start (fh, "w", 0666,  &w->file);
   if (w->rf == NULL)
     {
-      msg (ME, _("Error opening `%s' for writing as a system file: %s."),
+      msg (ME, _("Error opening `%s' for writing as a CSV file: %s."),
            fh_get_file_name (fh), strerror (errno));
       goto error;
     }
@@ -238,7 +225,8 @@ static void
 csv_output_format (struct csv_writer *w, const struct csv_var *cv,
                    const union value *value)
 {
-  char *s = data_out (value, w->encoding, &cv->format);
+  char *s = data_out (value, w->encoding, &cv->format,
+                      settings_get_fmt_settings ());
   struct substring ss = ss_cstr (s);
   if (cv->format.type != FMT_A)
     ss_trim (&ss, ss_cstr (" "));