From 948d4a65af820acf6149794e211ed5cb0ea6138d Mon Sep 17 00:00:00 2001 From: Peter Veenstra Date: Tue, 15 Apr 2003 17:49:58 +0000 Subject: [PATCH] Updated echo Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@934 --- src/shell/shell_cmds.cpp | 5 +++++ src/shell/shell_inc.h | 1 + src/shell/shell_misc.cpp | 13 +++++++++++++ 3 files changed, 19 insertions(+) diff --git a/src/shell/shell_cmds.cpp b/src/shell/shell_cmds.cpp index 2b829f8e..f53e56f7 100644 --- a/src/shell/shell_cmds.cpp +++ b/src/shell/shell_cmds.cpp @@ -31,6 +31,7 @@ static SHELL_Cmd cmd_list[]={ { "DEL", 1, &DOS_Shell::CMD_DELETE, "SHELL_CMD_DELETE_HELP"}, { "DELETE", 0, &DOS_Shell::CMD_DELETE, "SHELL_CMD_DELETE_HELP"}, { "ECHO", 0, &DOS_Shell::CMD_ECHO, "SHELL_CMD_ECHO_HELP"}, +{ "ECHO.", 1, &DOS_Shell::CMD_EHCODOT, "SHELL_CMD_ECHO_HELP"}, { "EXIT", 0, &DOS_Shell::CMD_EXIT, "SHELL_CMD_EXIT_HELP"}, { "HELP", 0, &DOS_Shell::CMD_HELP, "SHELL_CMD_HELP_HELP"}, { "MD", 0, &DOS_Shell::CMD_MKDIR, "SHELL_CMD_MKDIR_HELP"}, @@ -151,6 +152,10 @@ void DOS_Shell::CMD_ECHO(char * args) { WriteOut("%s\n",args); }; +void DOS_Shell::CMD_EHCODOT(char* args) { + WriteOut("\n"); +} + void DOS_Shell::CMD_EXIT(char * args) { exit=true; }; diff --git a/src/shell/shell_inc.h b/src/shell/shell_inc.h index a3057e31..2896ff92 100644 --- a/src/shell/shell_inc.h +++ b/src/shell/shell_inc.h @@ -81,6 +81,7 @@ public: void CMD_RENAME(char * args); void SyntaxError(void); void CMD_PAUSE(char * args); + void CMD_EHCODOT(char* args); /* The shell's variables */ Bit16u input_handle; BatchFile * bf; diff --git a/src/shell/shell_misc.cpp b/src/shell/shell_misc.cpp index 9152bc4c..e586caf9 100644 --- a/src/shell/shell_misc.cpp +++ b/src/shell/shell_misc.cpp @@ -102,6 +102,19 @@ void DOS_Shell::InputCommand(char * line) { outc('\n'); size=0; //Kill the while loop break; + case'\t': + { + Bit8u c=' ';Bit16u n=1; + for(Bitu i=0; i !=4 ;i++) + { + line[str_index]=c; + str_len++;//This should depend on insert being active + str_index++; + size--; + DOS_WriteFile(STDOUT,&c,&n); + } + } + break; default: line[str_index]=c; str_len++;//This should depend on insert being active