From c7351455575348d9d9847604069ee15132f2d8e0 Mon Sep 17 00:00:00 2001 From: crunchy Date: Tue, 29 Oct 2002 20:03:33 +0000 Subject: a special crunchy checkin: no testing;-) --- mpiosh/mpiosh.c | 38 +++++++++++++++++++++++++------------- 1 file changed, 25 insertions(+), 13 deletions(-) (limited to 'mpiosh/mpiosh.c') diff --git a/mpiosh/mpiosh.c b/mpiosh/mpiosh.c index f5896a5..5ed1faa 100644 --- a/mpiosh/mpiosh.c +++ b/mpiosh/mpiosh.c @@ -2,7 +2,7 @@ /* * - * $Id: mpiosh.c,v 1.20 2002/10/12 20:06:22 crunchy Exp $ + * $Id: mpiosh.c,v 1.21 2002/10/29 20:03:35 crunchy Exp $ * * Author: Andreas Büsching * @@ -26,6 +26,7 @@ * */ #include +#include #include #include @@ -34,6 +35,7 @@ #include "callback.h" #include "command.h" +#include "config.h" #include "readline.h" #include "mpiosh.h" @@ -41,9 +43,26 @@ void mpiosh_init(void) { + /* set state */ mpiosh.dev = NULL; - mpiosh.card = MPIO_INTERNAL_MEM; - mpiosh.prompt = PROMPT_INT; + mpiosh.config = NULL; + mpiosh.prompt = NULL; + + /* read configuration */ + mpiosh.config = mpiosh_config_new(); + if (mpiosh.config) + mpiosh_config_read(mpiosh.config); + + mpiosh.card = mpiosh.config->default_mem; + if (mpiosh.config->default_mem == MPIO_EXTERNAL_MEM) + mpiosh.prompt = mpiosh.config->prompt_ext; + else + mpiosh.prompt = mpiosh.config->prompt_int; + + /* inital mpio library */ + mpiosh.dev = mpio_init(mpiosh_callback_init); + + printf("\n"); } void @@ -55,9 +74,9 @@ mpiosh_signal_handler(int signal) int main(int argc, char *argv[]) { - char * line; - char ** cmds, **walk; - mpiosh_cmd_t * cmd; + char *line; + char **cmds, **walk; + struct mpiosh_cmd_t *cmd; struct sigaction sigc; int interactive = 1; @@ -80,13 +99,6 @@ main(int argc, char *argv[]) { debug_init(); mpiosh_init(); - mpiosh.dev = mpio_init(mpiosh_callback_init); - printf("\n"); - - if (mpiosh.card == MPIO_INTERNAL_MEM) - mpiosh.prompt = PROMPT_INT; - else - mpiosh.prompt = PROMPT_EXT; if (!isatty(fileno(stdin))) { interactive = 0; -- cgit v1.2.3