output-item: Collapse the inheritance hierarchy into a single struct.
[pspp] / src / language / utilities / echo.c
index b27b40017a367c397901acfb932bb1e81166ad2e..13fa72155645a94224dd2e96e9ca3990bec923cb 100644 (file)
    along with this program.  If not, see <http://www.gnu.org/licenses/>. */
 
 #include <config.h>
-#include <libpspp/message.h>
-#include <libpspp/str.h>
-#include <language/lexer/lexer.h>
-#include <language/command.h>
-#include <output/tab.h>
 
-#include "xalloc.h"
+#include "language/command.h"
+#include "language/lexer/lexer.h"
+#include "libpspp/message.h"
+#include "libpspp/str.h"
+#include "output/output-item.h"
+#include "output/driver.h"
+
+#include "gl/xalloc.h"
+
+#include "gettext.h"
+#define _(msgid) gettext (msgid)
 
 /* Echos a string to the output stream */
 int
 cmd_echo (struct lexer *lexer, struct dataset *ds UNUSED)
 {
-  struct tab_table *tab;
-
   if (!lex_force_string (lexer))
     return CMD_FAILURE;
 
-  tab = tab_create(1, 1);
-
-  tab_text(tab, 0, 0, 0, ds_cstr (lex_tokstr (lexer)));
-
-  tab_submit(tab);
+  output_submit (text_item_create (TEXT_ITEM_LOG, lex_tokcstr (lexer),
+                                   _("Echo")));
+  lex_get (lexer);
 
   return CMD_SUCCESS;
 }