projects
/
pspp-builds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Change enum legacy_encoding to const char *.
[pspp-builds.git]
/
src
/
language
/
data-io
/
data-parser.c
diff --git
a/src/language/data-io/data-parser.c
b/src/language/data-io/data-parser.c
index 1b9eb8991d302dbea7f8afdfd75d95c29ba7db6f..eab32868431bdf007aebf4b5d752ae9da843c257 100644
(file)
--- a/
src/language/data-io/data-parser.c
+++ b/
src/language/data-io/data-parser.c
@@
-505,7
+505,7
@@
static bool
parse_fixed (const struct data_parser *parser, struct dfm_reader *reader,
struct ccase *c)
{
parse_fixed (const struct data_parser *parser, struct dfm_reader *reader,
struct ccase *c)
{
-
enum legacy_encoding
encoding = dfm_reader_get_legacy_encoding (reader);
+
const char *
encoding = dfm_reader_get_legacy_encoding (reader);
struct field *f;
int row;
struct field *f;
int row;
@@
-547,7
+547,7
@@
static bool
parse_delimited_span (const struct data_parser *parser,
struct dfm_reader *reader, struct ccase *c)
{
parse_delimited_span (const struct data_parser *parser,
struct dfm_reader *reader, struct ccase *c)
{
-
enum legacy_encoding
encoding = dfm_reader_get_legacy_encoding (reader);
+
const char *
encoding = dfm_reader_get_legacy_encoding (reader);
struct string tmp = DS_EMPTY_INITIALIZER;
struct field *f;
struct string tmp = DS_EMPTY_INITIALIZER;
struct field *f;
@@
-588,7
+588,7
@@
static bool
parse_delimited_no_span (const struct data_parser *parser,
struct dfm_reader *reader, struct ccase *c)
{
parse_delimited_no_span (const struct data_parser *parser,
struct dfm_reader *reader, struct ccase *c)
{
-
enum legacy_encoding
encoding = dfm_reader_get_legacy_encoding (reader);
+
const char *
encoding = dfm_reader_get_legacy_encoding (reader);
struct string tmp = DS_EMPTY_INITIALIZER;
struct substring s;
struct field *f;
struct string tmp = DS_EMPTY_INITIALIZER;
struct substring s;
struct field *f;
@@
-721,7
+721,7
@@
struct data_parser_casereader
{
struct data_parser *parser; /* Parser. */
struct dfm_reader *reader; /* Data file reader. */
{
struct data_parser *parser; /* Parser. */
struct dfm_reader *reader; /* Data file reader. */
- s
ize_t value_cnt; /* Number of `union value's in case
. */
+ s
truct caseproto *proto; /* Format of cases
. */
};
static const struct casereader_class data_parser_casereader_class;
};
static const struct casereader_class data_parser_casereader_class;
@@
-742,8
+742,8
@@
data_parser_make_active_file (struct data_parser *parser, struct dataset *ds,
r = xmalloc (sizeof *r);
r->parser = parser;
r->reader = reader;
r = xmalloc (sizeof *r);
r->parser = parser;
r->reader = reader;
- r->
value_cnt = dict_get_next_value_idx (dict
);
- casereader = casereader_create_sequential (NULL, r->
value_cnt
,
+ r->
proto = caseproto_ref (dict_get_proto (dict)
);
+ casereader = casereader_create_sequential (NULL, r->
proto
,
CASENUMBER_MAX,
&data_parser_casereader_class, r);
proc_set_active_file (ds, casereader, dict);
CASENUMBER_MAX,
&data_parser_casereader_class, r);
proc_set_active_file (ds, casereader, dict);
@@
-753,7
+753,7
@@
static struct ccase *
data_parser_casereader_read (struct casereader *reader UNUSED, void *r_)
{
struct data_parser_casereader *r = r_;
data_parser_casereader_read (struct casereader *reader UNUSED, void *r_)
{
struct data_parser_casereader *r = r_;
- struct ccase *c = case_create (r->
value_cnt
);
+ struct ccase *c = case_create (r->
proto
);
if (data_parser_parse (r->parser, r->reader, c))
return c;
else
if (data_parser_parse (r->parser, r->reader, c))
return c;
else
@@
-771,6
+771,7
@@
data_parser_casereader_destroy (struct casereader *reader UNUSED, void *r_)
casereader_force_error (reader);
data_parser_destroy (r->parser);
dfm_close_reader (r->reader);
casereader_force_error (reader);
data_parser_destroy (r->parser);
dfm_close_reader (r->reader);
+ caseproto_unref (r->proto);
free (r);
}
free (r);
}