projects
/
pspp-builds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Finish converting struct variable to an opaque type. In this
[pspp-builds.git]
/
src
/
language
/
data-io
/
inpt-pgm.c
diff --git
a/src/language/data-io/inpt-pgm.c
b/src/language/data-io/inpt-pgm.c
index 3459ee0fbb03eaba4094924dcd5ae370b5b36e9c..d3b04ed9448ef03dc0f0d3808ea85aead2fa4ae7 100644
(file)
--- a/
src/language/data-io/inpt-pgm.c
+++ b/
src/language/data-io/inpt-pgm.c
@@
-161,14
+161,15
@@
cmd_input_program (struct lexer *lexer, struct dataset *ds)
for (i = 0; i < dict_get_var_cnt (dataset_dict (ds)); i++)
{
struct variable *var = dict_get_var (dataset_dict (ds), i);
for (i = 0; i < dict_get_var_cnt (dataset_dict (ds)); i++)
{
struct variable *var = dict_get_var (dataset_dict (ds), i);
+ size_t value_cnt = var_get_value_cnt (var);
enum value_init_type value_init;
size_t j;
enum value_init_type value_init;
size_t j;
- value_init = var
->type == NUMERIC
? INP_NUMERIC : INP_STRING;
- value_init |= var
->leave
? INP_INIT_ONCE : INP_REINIT;
+ value_init = var
_is_numeric (var)
? INP_NUMERIC : INP_STRING;
+ value_init |= var
_get_leave (var)
? INP_INIT_ONCE : INP_REINIT;
- for (j = 0; j < va
r->nv
; j++)
- inp->init[j + var
->fv
] = value_init;
+ for (j = 0; j < va
lue_cnt
; j++)
+ inp->init[j + var
_get_case_index (var)
] = value_init;
}
for (i = 0; i < inp->init_cnt; i++)
assert (inp->init[i] != -1);
}
for (i = 0; i < inp->init_cnt; i++)
assert (inp->init[i] != -1);
@@
-197,14
+198,15
@@
init_case (const struct input_program_pgm *inp, struct ccase *c)
switch (inp->init[i])
{
case INP_NUMERIC | INP_INIT_ONCE:
switch (inp->init[i])
{
case INP_NUMERIC | INP_INIT_ONCE:
- case_data_rw (c, i)->f = 0.0;
+ case_data_rw
_idx
(c, i)->f = 0.0;
break;
case INP_NUMERIC | INP_REINIT:
break;
case INP_NUMERIC | INP_REINIT:
- case_data_rw (c, i)->f = SYSMIS;
+ case_data_rw
_idx
(c, i)->f = SYSMIS;
break;
case INP_STRING | INP_INIT_ONCE:
case INP_STRING | INP_REINIT:
break;
case INP_STRING | INP_INIT_ONCE:
case INP_STRING | INP_REINIT:
- memset (case_data_rw (c, i)->s, ' ', sizeof case_data_rw (c, i)->s);
+ memset (case_data_rw_idx (c, i)->s, ' ',
+ sizeof case_data_rw_idx (c, i)->s);
break;
default:
NOT_REACHED ();
break;
default:
NOT_REACHED ();
@@
-223,12
+225,13
@@
clear_case (const struct input_program_pgm *inp, struct ccase *c)
case INP_NUMERIC | INP_INIT_ONCE:
break;
case INP_NUMERIC | INP_REINIT:
case INP_NUMERIC | INP_INIT_ONCE:
break;
case INP_NUMERIC | INP_REINIT:
- case_data_rw (c, i)->f = SYSMIS;
+ case_data_rw
_idx
(c, i)->f = SYSMIS;
break;
case INP_STRING | INP_INIT_ONCE:
break;
case INP_STRING | INP_REINIT:
break;
case INP_STRING | INP_INIT_ONCE:
break;
case INP_STRING | INP_REINIT:
- memset (case_data_rw (c, i)->s, ' ', sizeof case_data_rw (c, i)->s);
+ memset (case_data_rw_idx (c, i)->s, ' ',
+ sizeof case_data_rw_idx (c, i)->s);
break;
default:
NOT_REACHED ();
break;
default:
NOT_REACHED ();
@@
-358,6
+361,7
@@
cmd_reread (struct lexer *lexer, struct dataset *ds)
{
lex_error (lexer, NULL);
expr_free (e);
{
lex_error (lexer, NULL);
expr_free (e);
+ return CMD_CASCADING_FAILURE;
}
}
}
}