diff --git a/src/apps/terminal/Shell.cpp b/src/apps/terminal/Shell.cpp index d40903a230..2bad0b959a 100644 --- a/src/apps/terminal/Shell.cpp +++ b/src/apps/terminal/Shell.cpp @@ -55,10 +55,6 @@ #endif -/* default shell command and options. */ -const char *kDefaultShellCommand = { "/bin/sh" "-login" }; - - /* * Set environment variable. */ @@ -273,6 +269,13 @@ receive_handshake_message(handshake_t& handshake) status_t Shell::_Spawn(int row, int col, const char *encoding, int argc, const char **argv) { + const char *kDefaultShellCommand[] = { "/bin/sh", "--login" }; + + if (argv == NULL || argc == 0) { + argv = kDefaultShellCommand; + argc = 2; + } + signal(SIGTTOU, SIG_IGN); /* @@ -480,9 +483,9 @@ Shell::_Spawn(int row, int col, const char *encoding, int argc, const char **arg setenv("TERM", "beterm", true); setenv("TTY", ttyName, true); setenv("TTYPE", encoding, true); - setenv("SHELL", *argv, true); + setenv("SHELL", argv[0], true); - execve(*argv, (char * const *)argv, environ); + execve(argv[0], (char * const *)argv, environ); /* * Exec failed. @@ -493,11 +496,12 @@ Shell::_Spawn(int row, int col, const char *encoding, int argc, const char **arg "\t%s' " "'Use Default Shell' 'Abort'"; char errorMessage[256]; - snprintf(errorMessage, sizeof(errorMessage), spawnAlertMessage, *argv, strerror(errno)); + snprintf(errorMessage, sizeof(errorMessage), spawnAlertMessage, argv[0], strerror(errno)); int returnValue = system(errorMessage); if (returnValue == 0) - execl("/bin/sh", "/bin/sh", "-login", NULL); + execl(kDefaultShellCommand[0], kDefaultShellCommand[0], + kDefaultShellCommand[1], NULL); exit(1); } diff --git a/src/apps/terminal/TermView.cpp b/src/apps/terminal/TermView.cpp index abc1e2f5a2..95df15cdb5 100644 --- a/src/apps/terminal/TermView.cpp +++ b/src/apps/terminal/TermView.cpp @@ -59,49 +59,6 @@ const static rgb_color kTermColorTable[8] = { }; -const unsigned char M_ADD_CURSOR[] = { - 16, // Size - 1, // Color depth - 0, // Hot spot y - 1, // Hot spot x - - // Cursor image - 0x70, 0x00, - 0x48, 0x00, - 0x48, 0x00, - 0x27, 0xc0, - 0x24, 0xb8, - 0x12, 0x54, - 0x10, 0x02, - 0x78, 0x02, - 0x98, 0x02, - 0x84, 0x02, - 0x60, 0x02, - 0x18, 0x12, - 0x04, 0x10, - 0x02, 0x7c, - 0x00, 0x10, - 0x00, 0x10, - // Mask image - 0x70, 0x00, - 0x78, 0x00, - 0x78, 0x00, - 0x3f, 0xc0, - 0x3f, 0xf8, - 0x1f, 0xfc, - 0x1f, 0xfe, - 0x7f, 0xfe, - 0xff, 0xfe, - 0xff, 0xfe, - 0x7f, 0xfe, - 0x1f, 0xfe, - 0x07, 0xfc, - 0x03, 0xfc, - 0x00, 0x10, - 0x00, 0x10, -}; - - #define ROWS_DEFAULT 25 #define COLUMNS_DEFAULT 80 @@ -286,13 +243,6 @@ TermView::TermView(BMessage *archive) status_t TermView::_InitObject(int32 argc, const char **argv) { - const char *defaultArgv[] = { "/bin/sh", "--login" }; - - if (argc == 0 || argv == NULL) { - argc = 2; - argv = defaultArgv; - } - SetTermFont(be_fixed_font, be_fixed_font); fTextBuffer = new (std::nothrow) TermBuffer(fTermRows, fTermColumns, fScrBufSize);