Whitespace changes only.
[pspp] / src / ui / gui / psppire.c
index 1f903beda993c75616491e08f11f7100408ac2aa..ea8250a6b9314092d7efa084fe83734f58cb7cf7 100644 (file)
@@ -17,7 +17,6 @@
 #include <config.h>
 
 
-#include <assert.h>
 #include <gsl/gsl_errno.h>
 #include <gtk/gtk.h>
 #include <libintl.h>
@@ -39,6 +38,7 @@
 #include "output/driver.h"
 #include "output/journal.h"
 #include "output/message-item.h"
+#include "output/spv/spv.h"
 
 #include "ui/gui/dict-display.h"
 #include "ui/gui/executor.h"
@@ -105,7 +105,7 @@ initialize (const struct init_source *is)
       bind_textdomain_codeset (PACKAGE, "UTF-8");
       break;
     case 8:
-      if ( ! gtk_parse_args (is->argc, is->argv) )
+      if (! gtk_parse_args (is->argc, is->argv))
        {
          perror ("Error parsing arguments");
          exit (1);
@@ -160,9 +160,11 @@ handle_msg (const struct msg *m_, void *lexer_)
       m.first_column = lex_get_first_column (lexer, 0);
       m.last_column = lex_get_last_column (lexer, 0);
     }
-  m.command_name = CONST_CAST (char *, output_get_command_name ());
+  m.command_name = output_get_command_name ();
 
   message_item_submit (message_item_create (&m));
+
+  free (m.command_name);
 }
 
 void
@@ -192,8 +194,15 @@ psppire_preload_file (const gchar *file)
     w = open_data_window (NULL, filename, NULL, NULL);
   else if (retval == 0)
     {
-      create_data_window ();
-      w = open_syntax_window (filename, NULL);
+      char *error = spv_detect (filename);
+      if (!error)
+        read_spv_file (filename);
+      else
+        {
+          free (error);
+          create_data_window ();
+          open_syntax_window (filename, NULL);
+        }
     }
 
   fh_unref (fh);