Merge pull request #11 from andreax79/master

show default & set default command added
This commit is contained in:
Mark Pizzolato 2012-08-28 07:24:00 -07:00
commit be1e1326b3

33
scp.c
View file

@ -219,6 +219,11 @@
#include <signal.h> #include <signal.h>
#include <ctype.h> #include <ctype.h>
#include <time.h> #include <time.h>
#if defined(_WIN32)
#include <direct.h>
#else
#include <unistd.h>
#endif
#include <sys/stat.h> #include <sys/stat.h>
#if defined(HAVE_DLOPEN) /* Dynamic Readline support */ #if defined(HAVE_DLOPEN) /* Dynamic Readline support */
@ -328,6 +333,7 @@ t_stat set_dev_enbdis (DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr);
t_stat set_dev_debug (DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr); t_stat set_dev_debug (DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr);
t_stat set_unit_enbdis (DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr); t_stat set_unit_enbdis (DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr);
t_stat ssh_break (FILE *st, char *cptr, int32 flg); t_stat ssh_break (FILE *st, char *cptr, int32 flg);
t_stat set_default_cmd (int32 flg, char *cptr);
t_stat show_cmd_fi (FILE *ofile, int32 flag, char *cptr); t_stat show_cmd_fi (FILE *ofile, int32 flag, char *cptr);
t_stat show_config (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr); t_stat show_config (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr);
t_stat show_queue (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr); t_stat show_queue (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr);
@ -341,6 +347,7 @@ t_stat show_dev_logicals (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *
t_stat show_dev_modifiers (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr); t_stat show_dev_modifiers (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr);
t_stat show_dev_show_commands (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr); t_stat show_dev_show_commands (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr);
t_stat show_version (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr); t_stat show_version (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr);
t_stat show_default (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr);
t_stat show_break (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr); t_stat show_break (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr);
t_stat show_on (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr); t_stat show_on (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr);
t_stat show_device (FILE *st, DEVICE *dptr, int32 flag); t_stat show_device (FILE *st, DEVICE *dptr, int32 flag);
@ -638,6 +645,7 @@ static CTAB cmd_table[] = {
" enable console debugging to the\n" " enable console debugging to the\n"
" specified destination {LOG,STDOUT or filename)\n" " specified destination {LOG,STDOUT or filename)\n"
"set console NODEBUG disable console debugging\n" "set console NODEBUG disable console debugging\n"
"set default <dir> set the default directory\n"
"set log log_file specify the log destination\n" "set log log_file specify the log destination\n"
" (STDOUT,DEBUG or filename)\n" " (STDOUT,DEBUG or filename)\n"
"set nolog disables any currently active logging\n" "set nolog disables any currently active logging\n"
@ -687,6 +695,7 @@ static CTAB cmd_table[] = {
"sh{ow} th{rottle} show simulation rate\n" "sh{ow} th{rottle} show simulation rate\n"
"sh{ow} a{synch} show asynchronouse I/O state\n" "sh{ow} a{synch} show asynchronouse I/O state\n"
"sh{ow} ve{rsion} show simulator version\n" "sh{ow} ve{rsion} show simulator version\n"
"sh{ow} def{ault} show current directory\n"
"sh{ow} <dev> RADIX show device display radix\n" "sh{ow} <dev> RADIX show device display radix\n"
"sh{ow} <dev> DEBUG show device debug flags\n" "sh{ow} <dev> DEBUG show device debug flags\n"
"sh{ow} <dev> MODIFIERS show device modifiers\n" "sh{ow} <dev> MODIFIERS show device modifiers\n"
@ -1755,6 +1764,7 @@ C1TAB *ctbr, *glbr;
static CTAB set_glob_tab[] = { static CTAB set_glob_tab[] = {
{ "CONSOLE", &sim_set_console, 0 }, { "CONSOLE", &sim_set_console, 0 },
{ "BREAK", &brk_cmd, SSH_ST }, { "BREAK", &brk_cmd, SSH_ST },
{ "DEFAULT", &set_default_cmd, 1 },
{ "NOBREAK", &brk_cmd, SSH_CL }, { "NOBREAK", &brk_cmd, SSH_CL },
{ "TELNET", &sim_set_telnet, 0 }, /* deprecated */ { "TELNET", &sim_set_telnet, 0 }, /* deprecated */
{ "NOTELNET", &sim_set_notelnet, 0 }, /* deprecated */ { "NOTELNET", &sim_set_notelnet, 0 }, /* deprecated */
@ -2034,6 +2044,7 @@ static SHTAB show_glob_tab[] = {
{ "NAMES", &show_log_names, 0 }, { "NAMES", &show_log_names, 0 },
{ "SHOW", &show_show_commands, 0 }, { "SHOW", &show_show_commands, 0 },
{ "VERSION", &show_version, 1 }, { "VERSION", &show_version, 1 },
{ "DEFAULT", &show_default, 0 },
{ "CONSOLE", &sim_show_console, 0 }, { "CONSOLE", &sim_show_console, 0 },
{ "BREAK", &show_break, 0 }, { "BREAK", &show_break, 0 },
{ "LOG", &sim_show_log, 0 }, /* deprecated */ { "LOG", &sim_show_log, 0 }, /* deprecated */
@ -2540,6 +2551,28 @@ if (dptr->modifiers) {
return SCPE_OK; return SCPE_OK;
} }
/* Show/change the current working directiory commands */
t_stat show_default (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr)
{
char buffer[PATH_MAX];
char *wd = getcwd(buffer, PATH_MAX);
fprintf (st, "%s\n", wd);
return SCPE_OK;
}
t_stat set_default_cmd (int32 flg, char *cptr)
{
if ((!cptr) || (*cptr == 0))
return SCPE_2FARG;
sim_trim_endspc(cptr);
if (chdir(cptr) != 0) {
printf("Unable to change to: %s\n", cptr);
return SCPE_IOERR & SCPE_NOMESSAGE;
}
return SCPE_OK;
}
/* Breakpoint commands */ /* Breakpoint commands */
t_stat brk_cmd (int32 flg, char *cptr) t_stat brk_cmd (int32 flg, char *cptr)