aboutsummarylogtreecommitdiffstats
path: root/st.c
diff options
context:
space:
mode:
authorAurélien Aptel2010-04-26 19:20:53 +0200
committerAurélien Aptel2010-04-26 19:20:53 +0200
commit84c1c4885d4a0df12c5e8034f7aaf86d8f8505b8 (patch)
tree8c95b422ea8d6beb83245ee8e5cc436fec1134b5 /st.c
parent0e2fdb6344d55926584ec5835e2a34f59a2d4d15 (diff)
downloadaur-84c1c4885d4a0df12c5e8034f7aaf86d8f8505b8.tar.gz
use SHELL environment variable (thx Thomas Adam)
Diffstat (limited to 'st.c')
-rwxr-xr-xst.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/st.c b/st.c
index deb161055009..ee79a33759fd 100755
--- a/st.c
+++ b/st.c
@@ -208,9 +208,12 @@ die(const char *errstr, ...) {
void
execsh(void) {
- char *args[3] = {SHELL, "-i", NULL};
+ char *shell = getenv("SHELL");
+ if(!shell)
+ shell = "/bin/sh";
+ char *args[3] = {shell, "-i", NULL};
putenv("TERM=" TNAME);
- execvp(SHELL, args);
+ execvp(shell, args);
}
void
@@ -844,7 +847,6 @@ tputtab(void) {
void
tputc(char c) {
- /* dump(c); */
if(term.esc & ESC_START) {
if(term.esc & ESC_CSI) {
escseq.buf[escseq.len++] = c;
@@ -1277,7 +1279,7 @@ run(void) {
}
if(FD_ISSET(cmdfd, &rfd)) {
ttyread();
- draw(SCREEN_UPDATE);
+ draw(SCREEN_UPDATE);
}
while(XPending(xw.dis)) {
XNextEvent(xw.dis, &ev);