- lex_match_id ("FILE");
- lex_match ('=');
-
- h = fh_parse (FH_REF_FILE);
- if (!h)
- return CMD_FAILURE;
-
- reader = sfm_open_reader (h, &d, &info);
- if (!reader)
- return CMD_FAILURE;
- sfm_close_reader (reader);
-
- t = tab_create (2, 9, 0);
- tab_vline (t, TAL_GAP, 1, 0, 8);
- tab_text (t, 0, 0, TAB_LEFT, _("File:"));
- tab_text (t, 1, 0, TAB_LEFT, fh_get_file_name (h));
- tab_text (t, 0, 1, TAB_LEFT, _("Label:"));
- {
- const char *label = dict_get_label (d);
- if (label == NULL)
- label = _("No label.");
- tab_text (t, 1, 1, TAB_LEFT, label);
- }
- tab_text (t, 0, 2, TAB_LEFT, _("Created:"));
- tab_text (t, 1, 2, TAB_LEFT | TAT_PRINTF, "%s %s by %s",
- info.creation_date, info.creation_time, info.product);
- tab_text (t, 0, 3, TAB_LEFT, _("Endian:"));
- tab_text (t, 1, 3, TAB_LEFT, info.big_endian ? _("Big.") : _("Little."));
- tab_text (t, 0, 4, TAB_LEFT, _("Variables:"));
- tab_text (t, 1, 4, TAB_LEFT | TAT_PRINTF, "%d",
- dict_get_var_cnt (d));
- tab_text (t, 0, 5, TAB_LEFT, _("Cases:"));
- tab_text (t, 1, 5, TAB_LEFT | TAT_PRINTF,
- info.case_cnt == -1 ? _("Unknown") : "%d", info.case_cnt);
- tab_text (t, 0, 6, TAB_LEFT, _("Type:"));
- tab_text (t, 1, 6, TAB_LEFT, _("System File."));
- tab_text (t, 0, 7, TAB_LEFT, _("Weight:"));
- {
- struct variable *weight_var = dict_get_weight (d);
- tab_text (t, 1, 7, TAB_LEFT,
- weight_var != NULL ? weight_var->name : _("Not weighted."));
- }
- tab_text (t, 0, 8, TAB_LEFT, _("Mode:"));
- tab_text (t, 1, 8, TAB_LEFT | TAT_PRINTF,
- _("Compression %s."), info.compressed ? _("on") : _("off"));
- tab_dim (t, tab_natural_dimensions);
- tab_submit (t);
-
- nr = 1 + 2 * dict_get_var_cnt (d);
-
- t = tab_create (4, nr, 1);
- tab_dim (t, sysfile_info_dim);
- tab_headers (t, 0, 0, 1, 0);
- tab_text (t, 0, 0, TAB_LEFT | TAT_TITLE, _("Variable"));
- tab_joint_text (t, 1, 0, 2, 0, TAB_LEFT | TAT_TITLE, _("Description"));
- tab_text (t, 3, 0, TAB_LEFT | TAT_TITLE, _("Position"));
- tab_hline (t, TAL_2, 0, 3, 1);
- for (r = 1, i = 0; i < dict_get_var_cnt (d); i++)