projects
/
pspp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Issue an error if no valid data are found
[pspp]
/
src
/
language
/
stats
/
aggregate.c
diff --git
a/src/language/stats/aggregate.c
b/src/language/stats/aggregate.c
index d1cfb7dd16a83d7802c0459558c464b8bcd806bf..297d2abee4cc495cc17f1aaedd4da0d9e00f53bf 100644
(file)
--- a/
src/language/stats/aggregate.c
+++ b/
src/language/stats/aggregate.c
@@
-64,7
+64,7
@@
struct agr_var
struct agr_var *next; /* Next in list. */
/* Collected during parsing. */
struct agr_var *next; /* Next in list. */
/* Collected during parsing. */
-
struct variable *src;
/* Source variable. */
+
const struct variable *src;
/* Source variable. */
struct variable *dest; /* Target variable. */
int function; /* Function. */
enum mv_class exclude; /* Classes of missing values to exclude. */
struct variable *dest; /* Target variable. */
int function; /* Function. */
enum mv_class exclude; /* Classes of missing values to exclude. */
@@
-141,7
+141,7
@@
struct agr_proc
/* Break variables. */
struct sort_criteria *sort; /* Sort criteria. */
/* Break variables. */
struct sort_criteria *sort; /* Sort criteria. */
- struct variable **break_vars; /* Break variables. */
+
const
struct variable **break_vars; /* Break variables. */
size_t break_var_cnt; /* Number of break variables. */
struct ccase break_case; /* Last values of break variables. */
size_t break_var_cnt; /* Number of break variables. */
struct ccase break_case; /* Last values of break variables. */
@@
-254,7
+254,7
@@
cmd_aggregate (struct lexer *lexer, struct dataset *ds)
/* Delete documents. */
if (!copy_documents)
/* Delete documents. */
if (!copy_documents)
- dict_
set_documents (agr.dict, NULL
);
+ dict_
clear_documents (agr.dict
);
/* Cancel SPLIT FILE. */
dict_set_split_vars (agr.dict, NULL, 0);
/* Cancel SPLIT FILE. */
dict_set_split_vars (agr.dict, NULL, 0);
@@
-396,7
+396,7
@@
parse_aggregate_functions (struct lexer *lexer, const struct dictionary *dict, s
union agr_argument arg[2];
union agr_argument arg[2];
- struct variable **src;
+
const
struct variable **src;
size_t n_src;
size_t i;
size_t n_src;
size_t i;
@@
-496,7
+496,7
@@
parse_aggregate_functions (struct lexer *lexer, const struct dictionary *dict, s
else if (function->n_args)
pv_opts |= PV_SAME_TYPE;
else if (function->n_args)
pv_opts |= PV_SAME_TYPE;
- if (!parse_variables (lexer, dict, &src, &n_src, pv_opts))
+ if (!parse_variables
_const
(lexer, dict, &src, &n_src, pv_opts))
goto error;
}
goto error;
}
@@
-520,8
+520,8
@@
parse_aggregate_functions (struct lexer *lexer, const struct dictionary *dict, s
}
else
{
}
else
{
- msg (SE, _("Missing argument %d to %s."),
i + 1,
- function->name);
+ msg (SE, _("Missing argument %d to %s."),
+
(int) i + 1,
function->name);
goto error;
}
goto error;
}
@@
-959,7
+959,7
@@
dump_aggregate_info (struct agr_proc *agr, struct ccase *output)
for (i = 0; i < agr->break_var_cnt; i++)
{
for (i = 0; i < agr->break_var_cnt; i++)
{
- struct variable *v = agr->break_vars[i];
+
const
struct variable *v = agr->break_vars[i];
size_t value_cnt = var_get_value_cnt (v);
memcpy (case_data_rw_idx (output, value_idx),
case_data (&agr->break_case, v),
size_t value_cnt = var_get_value_cnt (v);
memcpy (case_data_rw_idx (output, value_idx),
case_data (&agr->break_case, v),