Replace numerous instances of xzalloc with XZALLOC
[pspp] / src / ui / terminal / terminal-reader.c
index 071e435eca6f572809331c84d2cd2fe493c1b8c5..3225678e8707b28a0dba95064d93fae4abf6b6f0 100644 (file)
@@ -22,6 +22,7 @@
 #include <stdbool.h>
 #include <stdio.h>
 
+#include "libpspp/str.h"
 
 #if HAVE_READLINE
 #include <readline/readline.h>
@@ -188,14 +189,12 @@ static struct lex_reader_class terminal_reader_class =
 struct lex_reader *
 terminal_reader_create (void)
 {
-  struct terminal_reader *r;
-
   if (!n_terminal_readers++)
     readline_init ();
 
-  r = xzalloc (sizeof *r);
+  struct terminal_reader *r = XZALLOC (struct terminal_reader);
   r->reader.class = &terminal_reader_class;
-  r->reader.syntax = LEX_SYNTAX_INTERACTIVE;
+  r->reader.syntax = SEG_MODE_INTERACTIVE;
   r->reader.error = LEX_ERROR_TERMINAL;
   r->reader.file_name = NULL;
   r->s = ss_empty ();
@@ -228,6 +227,9 @@ readline_prompt (enum prompt_style style)
 
     case PROMPT_DO_REPEAT:
       return "DO REPEAT> ";
+
+    case PROMPT_DEFINE:
+      return "DEFINE> ";
     }
 
   NOT_REACHED ();
@@ -408,7 +410,7 @@ command_generator (const char *text, int state)
   if (state == 0)
     cmd = NULL;
   name = cmd_complete (text, &cmd);
-  return name ? xstrdup (name) : NULL;
+  return xstrdup_if_nonnull (name);
 }
 
 #else  /* !HAVE_READLINE */