projects
/
pspp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix bug 19581
[pspp]
/
src
/
language
/
stats
/
flip.c
diff --git
a/src/language/stats/flip.c
b/src/language/stats/flip.c
index c3f2439fe9ac0dc9968fd4eddcd45913d9ea65f2..5c6e77404879e1b1b340f87d60c8ad1ef8fc6fe9 100644
(file)
--- a/
src/language/stats/flip.c
+++ b/
src/language/stats/flip.c
@@
-64,7
+64,7
@@
struct varname
struct flip_pgm
{
struct pool *pool; /* Pool containing FLIP data. */
struct flip_pgm
{
struct pool *pool; /* Pool containing FLIP data. */
- struct variable **var; /* Variables to transpose. */
+
const
struct variable **var; /* Variables to transpose. */
int *idx_to_fv; /* var[]->index to compacted sink case fv. */
size_t var_cnt; /* Number of elements in `var'. */
int case_cnt; /* Pre-flip case count. */
int *idx_to_fv; /* var[]->index to compacted sink case fv. */
size_t var_cnt; /* Number of elements in `var'. */
int case_cnt; /* Pre-flip case count. */
@@
-122,7
+122,7
@@
cmd_flip (struct lexer *lexer, struct dataset *ds)
if (lex_match_id (lexer, "VARIABLES"))
{
lex_match (lexer, '=');
if (lex_match_id (lexer, "VARIABLES"))
{
lex_match (lexer, '=');
- if (!parse_variables (lexer, dict, &flip->var, &flip->var_cnt,
+ if (!parse_variables
_const
(lexer, dict, &flip->var, &flip->var_cnt,
PV_NO_DUPLICATE))
goto error;
lex_match (lexer, '/');
PV_NO_DUPLICATE))
goto error;
lex_match (lexer, '/');
@@
-299,7
+299,8
@@
flip_sink_create (struct dataset *ds, struct flip_pgm *flip)
flip->file = pool_tmpfile (flip->pool);
if (flip->file == NULL)
{
flip->file = pool_tmpfile (flip->pool);
if (flip->file == NULL)
{
- msg (SE, _("Could not create temporary file for FLIP."));
+ msg (SE, _("Could not create temporary file for FLIP: %s."),
+ strerror (errno));
return NULL;
}
return NULL;
}
@@
-448,7
+449,10
@@
flip_file (struct flip_pgm *flip)
if (read_cases != fread (input_buf, case_bytes, read_cases, input_file))
{
if (read_cases != fread (input_buf, case_bytes, read_cases, input_file))
{
- msg (SE, _("Error reading FLIP file: %s."), strerror (errno));
+ if (ferror (input_file))
+ msg (SE, _("Error reading FLIP file: %s."), strerror (errno));
+ else
+ msg (SE, _("Unexpected end of file reading FLIP file."));
return false;
}
return false;
}