{
struct matrix_format *mformat = aux;
const struct caseproto *proto = casereader_get_proto (casereader0);
- struct casewriter *writer;
- writer = autopaging_writer_create (proto);
+ struct casewriter *writer = autopaging_writer_create (proto);
struct ccase *prev_case = NULL;
double **matrices = NULL;
size_t n_splits = 0;
msg (SE,
_("There are %d variable declared but the data has at least %d matrix rows."),
mformat->n_continuous_vars, row + 1);
+ case_unref (c);
+ casereader_destroy (pass0);
goto error;
}
int col;
struct ccase *outcase = case_create (proto);
union value *v = case_data_rw (outcase, mformat->rowtype);
uint8_t *n = value_str_rw (v, ROWTYPE_WIDTH);
- strncpy ((char *) n, "N ", ROWTYPE_WIDTH);
+ memcpy (n, "N ", ROWTYPE_WIDTH);
blank_varname_column (outcase, mformat->varname);
for (col = 0; col < mformat->n_continuous_vars; ++col)
{
free (matrices[i]);
free (matrices);
casereader_destroy (casereader0);
+ casewriter_destroy (writer);
return NULL;
}
}
else
{
- data_parser_make_active_file (parser, ds, reader, dict, preprocess, &mformat);
+ data_parser_make_active_file (parser, ds, reader, dict, preprocess,
+ &mformat);
}
fh_unref (fh);
error:
data_parser_destroy (parser);
if (!in_input_program ())
- dict_destroy (dict);
+ dict_unref (dict);
fh_unref (fh);
free (encoding);
free (mformat.split_vars);