+ return lex_end_of_command (lexer);
+}
+
+/* Dumps out the values of all the split variables for the case C. */
+void
+output_split_file_values (const struct dataset *ds, const struct ccase *c)
+{
+ const struct dictionary *dict = dataset_dict (ds);
+ const struct variable *const *split;
+ struct tab_table *t;
+ size_t split_cnt;
+ int i;
+
+ split_cnt = dict_get_split_cnt (dict);
+ if (split_cnt == 0)
+ return;
+
+ t = tab_create (3, split_cnt + 1);
+ tab_vline (t, TAL_GAP, 1, 0, split_cnt);
+ tab_vline (t, TAL_GAP, 2, 0, split_cnt);
+ tab_text (t, 0, 0, TAB_NONE, _("Variable"));
+ tab_text (t, 1, 0, TAB_LEFT, _("Value"));
+ tab_text (t, 2, 0, TAB_LEFT, _("Label"));
+ split = dict_get_split_vars (dict);
+ for (i = 0; i < split_cnt; i++)
+ {
+ const struct variable *v = split[i];
+ char *s;
+ const char *val_lab;
+ const struct fmt_spec *print = var_get_print_format (v);
+
+ tab_text_format (t, 0, i + 1, TAB_LEFT, "%s", var_get_name (v));
+
+ s = data_out (case_data (c, v), dict_get_encoding (dict), print);
+
+ tab_text_format (t, 1, i + 1, 0, "%.*s", print->w, s);
+
+ free (s);
+
+ val_lab = var_lookup_value_label (v, case_data (c, v));
+ if (val_lab)
+ tab_text (t, 2, i + 1, TAB_LEFT, val_lab);
+ }
+ tab_submit (t);