X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=src%2Fui%2Fterminal%2Fmain.c;h=6998f773d9fb12ddbf7f7250e581a515746a46bf;hb=8acca2de53c1852f38726f70fc6516b34732a79f;hp=edc59eddaf6a8440bde2daa940dffe1411324bc8;hpb=97d4f38945476834fd7fce612b663f19f2b291f8;p=pspp diff --git a/src/ui/terminal/main.c b/src/ui/terminal/main.c index edc59eddaf..6998f773d9 100644 --- a/src/ui/terminal/main.c +++ b/src/ui/terminal/main.c @@ -1,5 +1,5 @@ /* PSPP - computes sample statistics. - Copyright (C) 1997-9, 2000 Free Software Foundation, Inc. + Copyright (C) 1997-9, 2000, 2006 Free Software Foundation, Inc. Written by Ben Pfaff . This program is free software; you can redistribute it and/or @@ -30,6 +30,7 @@ #include #include #include +#include #include #include #include @@ -69,6 +70,8 @@ void bug_handler(int sig); /* Handle quit/term/int signals */ void interrupt_handler(int sig); +static struct dataset * the_dataset = NULL; + /* Program entry point. */ @@ -85,6 +88,7 @@ main (int argc, char **argv) fpu_init (); gsl_set_error_handler_off (); + fmt_init (); outp_init (); msg_ui_init (); fn_init (); @@ -93,16 +97,17 @@ main (int argc, char **argv) readln_initialize (); settings_init (); random_init (); - proc_init (); + the_dataset = create_dataset (); if (parse_command_line (argc, argv)) { outp_read_devices (); - lex_init (); + lex_init (do_read_line); for (;;) { - int result = cmd_parse (proc_has_source () + int result = cmd_parse (the_dataset, + proc_has_source (the_dataset) ? CMD_STATE_DATA : CMD_STATE_INITIAL); if (result == CMD_EOF || result == CMD_FINISH) break; @@ -178,7 +183,7 @@ terminate (bool success) { terminating = true; - proc_done (); + destroy_dataset (the_dataset); random_done (); settings_done ();