Implement SET LEADZERO.
[pspp] / src / language / utilities / set.c
index 08675179ab1ac63bd305f66a33bd8d78aaecae94..e7c17765d61c2419c90ceb73a4a409b2d14a8bf0 100644 (file)
@@ -617,6 +617,22 @@ show_JOURNAL (const struct dataset *ds UNUSED)
           : xstrdup (enabled));
 }
 
+static bool
+parse_LEADZERO (struct lexer *lexer)
+{
+  int leadzero = force_parse_bool (lexer);
+  if (leadzero != -1)
+    settings_set_include_leading_zero (leadzero);
+  return leadzero != -1;
+}
+
+static char *
+show_LEADZERO (const struct dataset *ds UNUSED)
+{
+  bool leadzero = settings_get_fmt_settings ()->include_leading_zero;
+  return xstrdup (leadzero ? "ON" : "OFF");
+}
+
 static bool
 parse_LENGTH (struct lexer *lexer)
 {
@@ -1218,6 +1234,7 @@ static const struct setting settings[] = {
   { "HEADER", parse_HEADER, NULL },
   { "INCLUDE", parse_INCLUDE, show_INCLUDE },
   { "JOURNAL", parse_JOURNAL, show_JOURNAL },
+  { "LEADZERO", parse_LEADZERO, show_LEADZERO },
   { "LENGTH", parse_LENGTH, show_LENGTH },
   { "LOCALE", parse_LOCALE, show_LOCALE },
   { "MDISPLAY", parse_MDISPLAY, show_MDISPLAY },