From bff7521c56cafbf774f98087c49bd8de82b2a140 Mon Sep 17 00:00:00 2001 From: Mark Pizzolato Date: Wed, 22 Oct 2014 13:25:42 -0700 Subject: [PATCH] SCP: Migrate more output written to sim_log to use sim_printf. --- README.md | 1 + scp.c | 49 +++++++++------------------------- sim_console.c | 74 ++++++++++++++------------------------------------- 3 files changed, 34 insertions(+), 90 deletions(-) diff --git a/README.md b/README.md index 4b3c38e6..666888ce 100644 --- a/README.md +++ b/README.md @@ -223,6 +223,7 @@ The EXPECT command now exists to provide a means of reacting to simulator output SHIFT Slide argument parameters %1 thru %9 left 1 NOOP A no-op command ON Establish or cancel an ON condition dispatch + IF Test some simulator state and conditionally execute commands CD Change working directory SET DEFAULT Change working directory PWD Show working directory diff --git a/scp.c b/scp.c index fde7b5be..29b71d17 100644 --- a/scp.c +++ b/scp.c @@ -1612,7 +1612,7 @@ ASSERT failure have several different actions: "++GEQ - greater than or equal\n\n" " Comparisons are generic. This means that if both string1 and string2 are\n" " comprised of all numeric digits, then the strings are converted to numbers\n" - " and a numeric comparison is performed. For example: \"+1\" EQU "1" will be + " and a numeric comparison is performed. For example: \"+1\" EQU \"1\" will be\n" " true.\n" /***************** 80 character line width template *************************/ #define HLP_EXIT "*Commands Exiting_The_Simulator" @@ -2425,34 +2425,24 @@ if (*cptr) { int i; for (i = 0; (dptr = sim_devices[i]) != NULL; i++) { - if (dptr->help) { - fprintf (stdout, "h{elp} %-17s display help for device %s\n", dptr->name, dptr->name); - if (sim_log) - fprintf (sim_log, "h{elp} %-17s display help for device %s\n", dptr->name, dptr->name); - } + if (dptr->help) + sim_printf ("h{elp} %-17s display help for device %s\n", dptr->name, dptr->name); if (dptr->attach_help || (DEV_TYPE(dptr) == DEV_MUX) || (DEV_TYPE(dptr) == DEV_DISK) || (DEV_TYPE(dptr) == DEV_TAPE)) { - fprintf (stdout, "h{elp} %s ATTACH\t display help for device %s ATTACH command\n", dptr->name, dptr->name); - if (sim_log) - fprintf (sim_log, "h{elp} %s ATTACH\t display help for device %s ATTACH command\n", dptr->name, dptr->name); + sim_printf ("h{elp} %s ATTACH\t display help for device %s ATTACH command\n", dptr->name, dptr->name); } if (dptr->registers) { - if (dptr->registers->name != NULL) { - fprintf (stdout, "h{elp} %s REGISTERS\t display help for device %s register variables\n", dptr->name, dptr->name); - if (sim_log) - fprintf (sim_log, "h{elp} %s REGISTERS\t display help for device %s register variables\n", dptr->name, dptr->name); - } + if (dptr->registers->name != NULL) + sim_printf ("h{elp} %s REGISTERS\t display help for device %s register variables\n", dptr->name, dptr->name); } if (dptr->modifiers) { MTAB *mptr; for (mptr = dptr->modifiers; mptr->pstring != NULL; mptr++) { if (mptr->help) { - fprintf (stdout, "h{elp} %s SET\t\t display help for device %s SET commands (modifiers)\n", dptr->name, dptr->name); - if (sim_log) - fprintf (sim_log, "h{elp} %s SET\t\t display help for device %s SET commands (modifiers)\n", dptr->name, dptr->name); + sim_printf ("h{elp} %s SET\t\t display help for device %s SET commands (modifiers)\n", dptr->name, dptr->name); break; } } @@ -2474,18 +2464,12 @@ if (*cptr) { for (cmdpa=cmd_table; cmdpa->name != NULL; cmdpa++) if ((cmdpa->action == cmdp->action) && (cmdpa->help)) { - fprintf (stdout, "%s is an alias for the %s command:\n%s", + sim_printf ("%s is an alias for the %s command:\n%s", cmdp->name, cmdpa->name, cmdpa->help); - if (sim_log) - fprintf (sim_log, "%s is an alias for the %s command.\n%s", - cmdp->name, cmdpa->name, cmdpa->help); break; } - if (cmdpa->name == NULL) { /* not found? */ - fprintf (stdout, "No help available for the %s command\n", cmdp->name); - if (sim_log) - fprintf (sim_log, "No help available for the %s command\n", cmdp->name); - } + if (cmdpa->name == NULL) /* not found? */ + sim_printf ("No help available for the %s command\n", cmdp->name); } } else { @@ -2498,11 +2482,8 @@ if (*cptr) { dptr = find_dev (gbuf); if (dptr == NULL) return SCPE_ARG; - if (dptr->flags & DEV_DISABLE) { - fprintf (stdout, "Device %s is currently disabled\n", dptr->name); - if (sim_log) - fprintf (sim_log, "Device %s is currently disabled\n", dptr->name); - } + if (dptr->flags & DEV_DISABLE) + sim_printf ("Device %s is currently disabled\n", dptr->name); } r = help_dev_help (stdout, dptr, uptr, flag, cptr); if (sim_log) @@ -2548,11 +2529,7 @@ return status; t_stat echo_cmd (int32 flag, char *cptr) { -puts (cptr); -if (sim_log) - fprintf (sim_log, "%s\n", cptr); -if (sim_deb) - fprintf (sim_deb, "\n%s\n", cptr); +sim_printf ("%s\n", cptr); return SCPE_OK; } diff --git a/sim_console.c b/sim_console.c index 299ce817..8916f665 100644 --- a/sim_console.c +++ b/sim_console.c @@ -516,15 +516,11 @@ CTAB *cmdp, *cmdph; if (*cptr) return help_cmd (flag, cptr); -printf ("Remote Console Commands:\r\n"); -if (sim_log) - fprintf (sim_log, "Remote Console Commands:\r\n"); +sim_printf ("Remote Console Commands:\r\n"); for (cmdp=allowed_remote_cmds; cmdp->name != NULL; ++cmdp) { cmdph = find_cmd (cmdp->name); if (cmdph && cmdph->help) { - printf ("%s", cmdph->help); - if (sim_log) - fprintf (sim_log, "%s", cmdph->help); + sim_printf ("%s\r\n", cmdph->help); } } return SCPE_OK; @@ -566,11 +562,8 @@ for (i=(was_stepping ? sim_rem_step_line : 0); if (cmdp && (cmdp->message)) /* special message handler? */ cmdp->message (NULL, stat); /* let it deal with display */ else - if (stat >= SCPE_BASE) { /* error? */ - printf ("%s\r\n", sim_error_text (stat)); - if (sim_log) - fprintf (sim_log, "%s\n", sim_error_text (stat)); - } + if (stat >= SCPE_BASE) /* error? */ + sim_printf ("%s\r\n", sim_error_text (stat)); fflush (sim_log); sim_fseeko (sim_log, cmd_log_start, SEEK_SET); cbuf[sizeof(cbuf)-1] = '\0'; @@ -714,14 +707,10 @@ for (i=(was_stepping ? sim_rem_step_line : 0); if ((sim_rem_single_mode[i]) && !got_command) { break; } - printf ("Remote Console Command from %s> %s\r\n", lp->ipad, sim_rem_buf[i]); - if (sim_log) - fprintf (sim_log, "Remote Console Command from %s> %s\n", lp->ipad, sim_rem_buf[i]); + sim_printf ("Remote Console Command from %s> %s\r\n", lp->ipad, sim_rem_buf[i]); got_command = FALSE; if (strlen(sim_rem_buf[i]) >= sizeof(cbuf)) { - printf ("\nLine too long. Ignored. Continuing Simulator execution\n"); - if (sim_log) - fprintf (sim_log, "\r\nLine too long. Ignored. Continuing Simulator execution\r\n"); + sim_printf ("\r\nLine too long. Ignored. Continuing Simulator execution\r\n"); tmxr_linemsgf (lp, "\nLine too long. Ignored. Continuing Simulator execution\n"); tmxr_send_buffered_data (lp); /* try to flush any buffered data */ break; @@ -789,11 +778,8 @@ for (i=(was_stepping ? sim_rem_step_line : 0); if (cmdp && (cmdp->message)) /* special message handler? */ cmdp->message (NULL, stat); /* let it deal with display */ else - if (stat >= SCPE_BASE) { /* error? */ - printf ("%s\r\n", sim_error_text (stat)); - if (sim_log) - fprintf (sim_log, "%s\n", sim_error_text (stat)); - } + if (stat >= SCPE_BASE) /* error? */ + sim_printf ("%s\r\n", sim_error_text (stat)); } fflush (sim_log); sim_fseeko (sim_log, cmd_log_start, SEEK_SET); @@ -1082,24 +1068,13 @@ if (sim_deb_switches & SWMASK ('R')) { sim_deb_switches |= SWMASK ('T'); } if (!sim_quiet) { - printf ("Debug output to \"%s\"\n", - sim_logfile_name (sim_deb, sim_deb_ref)); + sim_printf ("Debug output to \"%s\"\n", sim_logfile_name (sim_deb, sim_deb_ref)); if (sim_deb_switches & SWMASK ('P')) - printf (" Debug messages contain current PC value\n"); + sim_printf (" Debug messages contain current PC value\n"); if (sim_deb_switches & SWMASK ('T')) - printf (" Debug messages display time of day as hh:mm:ss.msec%s\n", sim_deb_switches & SWMASK ('R') ? " relative to the start of debugging" : ""); + sim_printf (" Debug messages display time of day as hh:mm:ss.msec%s\n", sim_deb_switches & SWMASK ('R') ? " relative to the start of debugging" : ""); if (sim_deb_switches & SWMASK ('A')) - printf (" Debug messages display time of day as seconds.msec%s\n", sim_deb_switches & SWMASK ('R') ? " relative to the start of debugging" : ""); - if (sim_log) { - fprintf (sim_log, "Debug output to \"%s\"\n", - sim_logfile_name (sim_deb, sim_deb_ref)); - if (sim_deb_switches & SWMASK ('P')) - fprintf (sim_log, " Debug messages contain current PC value\n"); - if (sim_deb_switches & SWMASK ('T')) - fprintf (sim_log, " Debug messages display time of day as hh:mm:ss.msec%s\n", sim_deb_switches & SWMASK ('R') ? " relative to the start of debugging" : ""); - if (sim_deb_switches & SWMASK ('A')) - fprintf (sim_log, " Debug messages display time of day as seconds.msec%s\n", sim_deb_switches & SWMASK ('R') ? " relative to the start of debugging" : ""); - } + sim_printf (" Debug messages display time of day as seconds.msec%s\n", sim_deb_switches & SWMASK ('R') ? " relative to the start of debugging" : ""); time(&now); fprintf (sim_deb, "Debug output to \"%s\" at %s", sim_logfile_name (sim_deb, sim_deb_ref), ctime(&now)); show_version (sim_deb, NULL, NULL, 0, NULL); @@ -1142,11 +1117,8 @@ if (sim_deb == NULL) /* no debug? */ sim_close_logfile (&sim_deb_ref); sim_deb = NULL; sim_deb_switches = 0; -if (!sim_quiet) { - printf ("Debug output disabled\n"); - if (sim_log) - fprintf (sim_log, "Debug output disabled\n"); - } +if (!sim_quiet) + sim_printf ("Debug output disabled\n"); return SCPE_OK; } @@ -1493,12 +1465,10 @@ if (sim_con_ldsc.conn || sim_con_ldsc.txbfd) { /* connected or buffered tmxr_poll_rx (&sim_con_tmxr); /* poll (check disconn) */ if (sim_con_ldsc.conn || sim_con_ldsc.txbfd) { /* still connected? */ if (!sim_con_ldsc.conn) { - printf ("Running with Buffered Console\r\n"); /* print transition */ + sim_printf ("Running with Buffered Console\r\n"); /* print transition */ fflush (stdout); - if (sim_log) { /* log file? */ - fprintf (sim_log, "Running with Buffered Console\n"); + if (sim_log) /* log file? */ fflush (sim_log); - } } return SCPE_OK; } @@ -1507,12 +1477,10 @@ for (i = 0; i < sec; i++) { /* loop */ if (tmxr_poll_conn (&sim_con_tmxr) >= 0) { /* poll connect */ sim_con_ldsc.rcve = 1; /* rcv enabled */ if (i) { /* if delayed */ - printf ("Running\r\n"); /* print transition */ + sim_printf ("Running\r\n"); /* print transition */ fflush (stdout); - if (sim_log) { /* log file? */ - fprintf (sim_log, "Running\n"); + if (sim_log) /* log file? */ fflush (sim_log); - } } return SCPE_OK; /* ready to proceed */ } @@ -1520,12 +1488,10 @@ for (i = 0; i < sec; i++) { /* loop */ if ((c == SCPE_STOP) || stop_cpu) return SCPE_STOP; if ((i % 10) == 0) { /* Status every 10 sec */ - printf ("Waiting for console Telnet connection\r\n"); + sim_printf ("Waiting for console Telnet connection\r\n"); fflush (stdout); - if (sim_log) { /* log file? */ - fprintf (sim_log, "Waiting for console Telnet connection\n"); + if (sim_log) /* log file? */ fflush (sim_log); - } } sim_os_sleep (1); /* wait 1 second */ }