projects
/
pspp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Spreadsheet readers: Seperate the mandatory from the optional arguments.
[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 3f00106ea2cf9c2b975d4dc7f0281389f783192c..441054e209b29b3dfdb7434038083dd6df11ce32 100644
(file)
--- a/
src/language/dictionary/sys-file-info.c
+++ b/
src/language/dictionary/sys-file-info.c
@@
-1,5
+1,5
@@
/* PSPP - a program for statistical analysis.
/* PSPP - a program for statistical analysis.
- Copyright (C) 1997-9, 2000, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
+ Copyright (C) 1997-9, 2000, 2006, 2009, 2010, 2011
, 2012
Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@
-77,11
+77,11
@@
cmd_sysfile_info (struct lexer *lexer, struct dataset *ds UNUSED)
lex_match_id (lexer, "FILE");
lex_match (lexer, T_EQUALS);
lex_match_id (lexer, "FILE");
lex_match (lexer, T_EQUALS);
- h = fh_parse (lexer, FH_REF_FILE);
+ h = fh_parse (lexer, FH_REF_FILE
, NULL
);
if (!h)
return CMD_FAILURE;
if (!h)
return CMD_FAILURE;
- reader = sfm_open_reader (h, &d, &info);
+ reader = sfm_open_reader (h,
NULL,
&d, &info);
if (!reader)
{
fh_unref (h);
if (!reader)
{
fh_unref (h);
@@
-138,8
+138,7
@@
cmd_sysfile_info (struct lexer *lexer, struct dataset *ds UNUSED)
tab_text (t, 0, 10, TAB_LEFT, _("Charset:"));
tab_text (t, 0, 10, TAB_LEFT, _("Charset:"));
- tab_text (t, 1, 10, TAB_LEFT,
- dict_get_encoding(d) ? dict_get_encoding(d) : _("Unknown"));
+ tab_text (t, 1, 10, TAB_LEFT, dict_get_encoding (d));
tab_submit (t);
tab_submit (t);
@@
-164,6
+163,7
@@
cmd_sysfile_info (struct lexer *lexer, struct dataset *ds UNUSED)
dict_destroy (d);
fh_unref (h);
dict_destroy (d);
fh_unref (h);
+ sfm_read_info_destroy (&info);
return CMD_SUCCESS;
}
\f
return CMD_SUCCESS;
}
\f
@@
-377,12
+377,15
@@
static void
display_attributes (struct tab_table *t, const struct attrset *set, int flags,
int c, int r)
{
display_attributes (struct tab_table *t, const struct attrset *set, int flags,
int c, int r)
{
- struct attrset_iterator i;
- struct attribute *attr;
+ struct attribute **attrs;
+ size_t n_attrs;
+ size_t i;
- for (attr = attrset_first (set, &i); attr != NULL;
- attr = attrset_next (set, &i))
+ n_attrs = attrset_count (set);
+ attrs = attrset_sorted (set);
+ for (i = 0; i < n_attrs; i++)
{
{
+ const struct attribute *attr = attrs[i];
const char *name = attribute_get_name (attr);
size_t n_values;
size_t i;
const char *name = attribute_get_name (attr);
size_t n_values;
size_t i;
@@
-401,6
+404,7
@@
display_attributes (struct tab_table *t, const struct attrset *set, int flags,
r++;
}
}
r++;
}
}
+ free (attrs);
}
static void
}
static void