/* PSPP - a program for statistical analysis.
- Copyright (C) 1997-2000, 2006-2013 Free Software Foundation, Inc.
+ Copyright (C) 1997-2000, 2006-2014 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include "data/casewriter.h"
#include "data/dictionary.h"
#include "data/file-handle-def.h"
-#include "data/file-name.h"
#include "data/format.h"
#include "data/make-file.h"
#include "data/missing-values.h"
FILE *file; /* File stream. */
struct replace_file *rf; /* Ticket for replacing output file. */
- enum sfm_compression compression;
+ enum any_compression compression;
casenumber case_cnt; /* Number of cases written so far. */
uint8_t space; /* ' ' in the file's character encoding. */
{
struct sfm_write_options opts;
opts.compression = (settings_get_scompression ()
- ? SFM_COMP_SIMPLE
- : SFM_COMP_NONE);
+ ? ANY_COMP_SIMPLE
+ : ANY_COMP_NONE);
opts.create_writeable = true;
opts.version = 3;
return opts;
files have been observed, so drop back to simple compression for those
files. */
w->compression = opts.compression;
- if (w->compression == SFM_COMP_ZLIB
+ if (w->compression == ANY_COMP_ZLIB
&& is_encoding_ebcdic_compatible (dict_get_encoding (d)))
- w->compression = SFM_COMP_SIMPLE;
+ w->compression = ANY_COMP_SIMPLE;
w->case_cnt = 0;
mode = 0444;
if (opts.create_writeable)
mode |= 0222;
- w->rf = replace_file_start (fh_get_file_name (fh), "wb", mode,
- &w->file, NULL);
+ w->rf = replace_file_start (fh, "wb", mode, &w->file);
if (w->rf == NULL)
{
msg (ME, _("Error opening `%s' for writing as a system file: %s."),
write_int (w, 999);
write_int (w, 0);
- if (w->compression == SFM_COMP_ZLIB)
+ if (w->compression == ANY_COMP_ZLIB)
{
w->zstream.zalloc = Z_NULL;
w->zstream.zfree = Z_NULL;
/* Record-type code. */
if (is_encoding_ebcdic_compatible (dict_encoding))
write_string (w, EBCDIC_MAGIC, 4);
- else if (w->compression == SFM_COMP_ZLIB)
+ else if (w->compression == ANY_COMP_ZLIB)
write_string (w, ASCII_ZMAGIC, 4);
else
write_string (w, ASCII_MAGIC, 4);
write_int (w, calc_oct_idx (d, NULL));
/* Compressed? */
- write_int (w, (w->compression == SFM_COMP_NONE ? 0
- : w->compression == SFM_COMP_SIMPLE ? 1
+ write_int (w, (w->compression == ANY_COMP_NONE ? 0
+ : w->compression == ANY_COMP_SIMPLE ? 1
: 2));
/* Weight variable. */
w->case_cnt++;
- if (w->compression == SFM_COMP_NONE)
+ if (w->compression == ANY_COMP_NONE)
write_case_uncompressed (w, c);
else
write_case_compressed (w, c);
{
/* Flush buffer. */
flush_compressed (w);
- if (w->compression == SFM_COMP_ZLIB)
+ if (w->compression == ANY_COMP_ZLIB)
{
finish_zstream (w);
write_ztrailer (w);
if (w->n_opcodes)
{
unsigned int n = 8 * (1 + w->n_elements);
- if (w->compression == SFM_COMP_SIMPLE)
+ if (w->compression == ANY_COMP_SIMPLE)
write_bytes (w, w->cbuf, n);
else
write_zlib (w, w->cbuf, n);