return xstrdup (get_default_encoding ());
}
+static bool
+parse_MDISPLAY (struct lexer *lexer)
+{
+ int mdisplay = force_parse_enum (lexer,
+ "TEXT", SETTINGS_MDISPLAY_TEXT,
+ "TABLES", SETTINGS_MDISPLAY_TABLES);
+ if (mdisplay >= 0)
+ settings_set_mdisplay (mdisplay);
+ return mdisplay >= 0;
+}
+
+static char *
+show_MDISPLAY (const struct dataset *ds UNUSED)
+{
+ return xstrdup (settings_get_mdisplay () == SETTINGS_MDISPLAY_TEXT
+ ? "TEXT" : "TABLES");
+}
+
static bool
parse_MESSAGES (struct lexer *lexer)
{
return xstrdup (buf);
}
+static char *
+show_SUBTITLE (const struct dataset *ds UNUSED)
+{
+ return xstrdup (output_get_subtitle ());
+}
+
static char *
show_SYSTEM (const struct dataset *ds UNUSED)
{
- return strdup (host_system);
+ return xstrdup (host_system);
}
static char *
show_TEMPDIR (const struct dataset *ds UNUSED)
{
- return strdup (temp_dir_name ());
+ return xstrdup (temp_dir_name ());
+}
+
+static char *
+show_TITLE (const struct dataset *ds UNUSED)
+{
+ return xstrdup (output_get_title ());
}
static bool
do_show (const struct dataset *ds, const struct setting *s)
{
char *value = s->show (ds);
- msg (SN, _("%s is %s."), s->name, value);
+ msg (SN, _("%s is %s."), s->name, value ? value : _("empty"));
free (value);
}
{ "JOURNAL", parse_JOURNAL, show_JOURNAL },
{ "LENGTH", parse_LENGTH, show_LENGTH },
{ "LOCALE", parse_LOCALE, show_LOCALE },
+ { "MDISPLAY", parse_MDISPLAY, show_MDISPLAY },
{ "MESSAGES", parse_MESSAGES, show_MESSAGES },
{ "MEXPAND", parse_MEXPAND, show_MEXPAND },
{ "MITERATE", parse_MITERATE, show_MITERATE },
show_warranty (ds);
else if (lex_match_id (lexer, "COPYING") || lex_match_id (lexer, "LICENSE"))
show_copying (ds);
+ else if (lex_match_id (lexer, "TITLE"))
+ {
+ struct setting s = { .name = "TITLE", .show = show_TITLE };
+ do_show (ds, &s);
+ }
+ else if (lex_match_id (lexer, "SUBTITLE"))
+ {
+ struct setting s = { .name = "SUBTITLE", .show = show_SUBTITLE };
+ do_show (ds, &s);
+ }
else if (lex_token (lexer) == T_ID)
{
int i;
return CMD_FAILURE;
}
}
-
-/*
- Local Variables:
- mode: c
- End:
-*/