projects
/
pspp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
sys-file-reader: Break reading a system file into two stages.
[pspp]
/
src
/
language
/
dictionary
/
sys-file-info.c
diff --git
a/src/language/dictionary/sys-file-info.c
b/src/language/dictionary/sys-file-info.c
index f719ba2fb1e8c0b9e508c49017fc0f3811120faa..6b74f75a6622d0860b8679496063bbfd02df0806 100644
(file)
--- a/
src/language/dictionary/sys-file-info.c
+++ b/
src/language/dictionary/sys-file-info.c
@@
-68,6
+68,7
@@
static int describe_variable (const struct variable *v, struct tab_table *t,
int
cmd_sysfile_info (struct lexer *lexer, struct dataset *ds UNUSED)
{
int
cmd_sysfile_info (struct lexer *lexer, struct dataset *ds UNUSED)
{
+ struct sfm_reader *sfm_reader;
struct file_handle *h;
struct dictionary *d;
struct tab_table *t;
struct file_handle *h;
struct dictionary *d;
struct tab_table *t;
@@
-113,7
+114,11
@@
cmd_sysfile_info (struct lexer *lexer, struct dataset *ds UNUSED)
goto error;
}
goto error;
}
- reader = sfm_open_reader (h, encoding, &d, &info);
+ sfm_reader = sfm_open (h);
+ if (sfm_reader == NULL)
+ goto error;
+
+ reader = sfm_decode (sfm_reader, encoding, &d, &info);
if (!reader)
goto error;
if (!reader)
goto error;