author | llornkcor <llornkcor> | 2004-04-07 07:48:07 (UTC) |
---|---|---|
committer | llornkcor <llornkcor> | 2004-04-07 07:48:07 (UTC) |
commit | a1221f718bb1e9bcb6318dbf3314b9a35891caac (patch) (side-by-side diff) | |
tree | 5f230f06f55029ee06954447bcd628002bb6bcec | |
parent | b3447b43b48cb6d720b76a1e9fc46acac6961dc8 (diff) | |
download | opie-a1221f718bb1e9bcb6318dbf3314b9a35891caac.zip opie-a1221f718bb1e9bcb6318dbf3314b9a35891caac.tar.gz opie-a1221f718bb1e9bcb6318dbf3314b9a35891caac.tar.bz2 |
respect TERM variable
-rw-r--r-- | core/apps/embeddedkonsole/MyPty.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/core/apps/embeddedkonsole/MyPty.cpp b/core/apps/embeddedkonsole/MyPty.cpp index d05e31e..4b1ae59 100644 --- a/core/apps/embeddedkonsole/MyPty.cpp +++ b/core/apps/embeddedkonsole/MyPty.cpp @@ -155,33 +155,35 @@ int MyPty::run(const char* cmd, QStrList &, const char*, int) dup2(ttyfd, STDIN_FILENO); dup2(ttyfd, STDOUT_FILENO); dup2(ttyfd, STDERR_FILENO); // should be done with tty, so close it close(ttyfd); static struct termios ttmode; if ( setsid() < 0 ) perror( "failed to set process group" ); #if defined (TIOCSCTTY) // grabbed from APUE by Stevens ioctl(STDIN_FILENO, TIOCSCTTY, 0); #endif tcgetattr( STDIN_FILENO, &ttmode ); ttmode.c_cc[VINTR] = 3; ttmode.c_cc[VERASE] = 8; tcsetattr( STDIN_FILENO, TCSANOW, &ttmode ); - setenv("TERM","vt100",1); + + if(strlen(getenv("TERM"))<=0) + setenv("TERM","vt100",1); setenv("COLORTERM","0",1); if (getuid() == 0) { char msg[] = "WARNING: You are running this shell as root!\n"; write(ttyfd, msg, sizeof(msg)); } QString ccmd = "-"+QFileInfo(cmd).fileName(); //creates a login shell execl(cmd, ccmd.latin1(), 0); donePty(); exit(-1); } // parent - continue as a widget |