tRemove insane *_FILENO and EXIT_* usage - st - [fork] customized build of st, … | |
git clone git://src.adamsgaard.dk/st | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit abfad4c4fc69ebb22febfe32677aadd112ce375a | |
parent 92e092efe6c6b2a6b6ec9da33170317d4426cab0 | |
Author: FRIGN <[email protected]> | |
Date: Wed, 8 Jul 2015 23:49:25 +0200 | |
Remove insane *_FILENO and EXIT_* usage | |
Any system having different assignments than the usual 0, 1, 2 for | |
tthe standard file numbers and 0, 1 for the exit-statuses is broken | |
beyond repair. | |
Let's keep it simple and just use the numbers, no reason to fall | |
out of the window here and bend down for POSIX. | |
In one occasion, the ret-variable was not necessary. The check was | |
rewritten. | |
Signed-off-by: Christoph Lohmann <[email protected]> | |
Diffstat: | |
M st.c | 26 ++++++++++++-------------- | |
1 file changed, 12 insertions(+), 14 deletions(-) | |
--- | |
diff --git a/st.c b/st.c | |
t@@ -513,7 +513,7 @@ static STREscape strescseq; | |
static int cmdfd; | |
static pid_t pid; | |
static Selection sel; | |
-static int iofd = STDOUT_FILENO; | |
+static int iofd = 1; | |
static char **opt_cmd = NULL; | |
static char *opt_io = NULL; | |
static char *opt_title = NULL; | |
t@@ -1207,7 +1207,7 @@ die(const char *errstr, ...) { | |
va_start(ap, errstr); | |
vfprintf(stderr, errstr, ap); | |
va_end(ap); | |
- exit(EXIT_FAILURE); | |
+ exit(1); | |
} | |
void | |
t@@ -1256,12 +1256,12 @@ execsh(void) { | |
signal(SIGALRM, SIG_DFL); | |
execvp(prog, args); | |
- _exit(EXIT_FAILURE); | |
+ _exit(1); | |
} | |
void | |
sigchld(int a) { | |
- int stat, ret; | |
+ int stat; | |
pid_t p; | |
if((p = waitpid(pid, &stat, WNOHANG)) < 0) | |
t@@ -1270,10 +1270,9 @@ sigchld(int a) { | |
if(pid != p) | |
return; | |
- ret = WIFEXITED(stat) ? WEXITSTATUS(stat) : EXIT_FAILURE; | |
- if (ret != EXIT_SUCCESS) | |
+ if (!WIFEXITED(stat) || WEXITSTATUS(stat)) | |
die("child finished with error '%d'\n", stat); | |
- exit(EXIT_SUCCESS); | |
+ exit(0); | |
} | |
t@@ -1309,8 +1308,7 @@ ttynew(void) { | |
if(opt_io) { | |
term.mode |= MODE_PRINT; | |
iofd = (!strcmp(opt_io, "-")) ? | |
- STDOUT_FILENO : | |
- open(opt_io, O_WRONLY | O_CREAT, 0666); | |
+ 1 : open(opt_io, O_WRONLY | O_CREAT, 0666); | |
if(iofd < 0) { | |
fprintf(stderr, "Error opening %s:%s\n", | |
opt_io, strerror(errno)); | |
t@@ -1320,7 +1318,7 @@ ttynew(void) { | |
if (opt_line) { | |
if((cmdfd = open(opt_line, O_RDWR)) < 0) | |
die("open line failed: %s\n", strerror(errno)); | |
- close(STDIN_FILENO); | |
+ close(0); | |
dup(cmdfd); | |
stty(); | |
return; | |
t@@ -1337,9 +1335,9 @@ ttynew(void) { | |
case 0: | |
close(iofd); | |
setsid(); /* create a new process group */ | |
- dup2(s, STDIN_FILENO); | |
- dup2(s, STDOUT_FILENO); | |
- dup2(s, STDERR_FILENO); | |
+ dup2(s, 0); | |
+ dup2(s, 1); | |
+ dup2(s, 2); | |
if(ioctl(s, TIOCSCTTY, NULL) < 0) | |
die("ioctl TIOCSCTTY failed: %s\n", strerror(errno)); | |
close(s); | |
t@@ -3871,7 +3869,7 @@ cmessage(XEvent *e) { | |
} else if(e->xclient.data.l[0] == xw.wmdeletewin) { | |
/* Send SIGHUP to shell */ | |
kill(pid, SIGHUP); | |
- exit(EXIT_SUCCESS); | |
+ exit(0); | |
} | |
} | |