- lex_match_id (lexer, "FILE");
- lex_match (lexer, '=');
-
- h = fh_parse (lexer, 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, 10, 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, _("Integer Format:"));
- tab_text (t, 1, 3, TAB_LEFT,
- info.integer_format == INTEGER_MSB_FIRST ? _("Big Endian.")
- : info.integer_format == INTEGER_LSB_FIRST ? _("Little Endian.")
- : _("Unknown."));
- tab_text (t, 0, 4, TAB_LEFT, _("Real Format:"));
- tab_text (t, 1, 4, TAB_LEFT,
- info.float_format == FLOAT_IEEE_DOUBLE_LE ? _("IEEE 754 LE.")
- : info.float_format == FLOAT_IEEE_DOUBLE_BE ? _("IEEE 754 BE.")
- : info.float_format == FLOAT_VAX_D ? _("VAX D.")
- : info.float_format == FLOAT_VAX_G ? _("VAX G.")
- : info.float_format == FLOAT_Z_LONG ? _("IBM 390 Hex Long.")
- : _("Unknown."));
- tab_text (t, 0, 5, TAB_LEFT, _("Variables:"));
- tab_text (t, 1, 5, TAB_LEFT | TAT_PRINTF, "%d",
- dict_get_var_cnt (d));
- tab_text (t, 0, 6, TAB_LEFT, _("Cases:"));
- tab_text (t, 1, 6, TAB_LEFT | TAT_PRINTF,
- info.case_cnt == -1 ? _("Unknown") : "%d", info.case_cnt);
- tab_text (t, 0, 7, TAB_LEFT, _("Type:"));
- tab_text (t, 1, 7, TAB_LEFT, _("System File."));
- tab_text (t, 0, 8, TAB_LEFT, _("Weight:"));
- {
- struct variable *weight_var = dict_get_weight (d);
- tab_text (t, 1, 8, TAB_LEFT,
- (weight_var != NULL
- ? var_get_name (weight_var) : _("Not weighted.")));
- }
- tab_text (t, 0, 9, TAB_LEFT, _("Mode:"));
- tab_text (t, 1, 9, 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++)