treplace eprint() functions with BSD error functions - st - [fork] customized b… | |
git clone git://src.adamsgaard.dk/st | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit f982c1c37ccc4adc38260a132aa64ee29d1a1a8c | |
parent d83cbc27b99427d00846832a73810f285d8f0d05 | |
Author: Matthias-Christian Ott <[email protected]> | |
Date: Fri, 4 Jul 2008 18:05:08 +0200 | |
replace eprint() functions with BSD error functions | |
Diffstat: | |
M pty.c | 12 ++++++------ | |
M st.c | 14 +++++++++----- | |
M std.c | 25 +++++++++++++++---------- | |
M util.c | 23 +---------------------- | |
M util.h | 2 -- | |
5 files changed, 31 insertions(+), 45 deletions(-) | |
--- | |
diff --git a/pty.c b/pty.c | |
t@@ -22,22 +22,22 @@ getpty(void) { | |
ptm = open("/dev/ptmx", O_RDWR); | |
if(ptm == -1) | |
if(openpty(&ptm, &pts, NULL, NULL, NULL) == -1) | |
- eprintn("error, cannot open pty"); | |
+ err(EXIT_FAILURE, "cannot open pty"); | |
#endif | |
#if defined(_XOPEN_SOURCE) | |
if(ptm != -1) { | |
if(grantpt(ptm) == -1) | |
- eprintn("error, cannot grant access to pty"); | |
+ err(EXIT_FAILURE, "cannot grant access to pty"); | |
if(unlockpt(ptm) == -1) | |
- eprintn("error, cannot unlock pty"); | |
+ err(EXIT_FAILURE, "cannot unlock pty"); | |
ptsdev = ptsname(ptm); | |
if(!ptsdev) | |
- eprintn("error, slave pty name undefined"); | |
+ err(EXIT_FAILURE, "slave pty name undefined"); | |
pts = open(ptsdev, O_RDWR); | |
if(pts == -1) | |
- eprintn("error, cannot open slave pty"); | |
+ err(EXIT_FAILURE, "cannot open slave pty"); | |
} | |
else | |
- eprintn("error, cannot open pty"); | |
+ err(EXIT_FAILURE, "cannot open pty"); | |
#endif | |
} | |
diff --git a/st.c b/st.c | |
t@@ -1,13 +1,17 @@ | |
/* See LICENSE file for copyright and license details. */ | |
-#include "util.h" | |
#include <stdio.h> | |
+#include <stdlib.h> | |
#include <string.h> | |
int | |
main(int argc, char *argv[]) { | |
- if(argc == 2 && !strcmp("-v", argv[1])) | |
- eprint("st-"VERSION", © 2007-2008 st engineers, see LICENSE f… | |
- else if(argc != 1) | |
- eprint("usage: st [-v]\n"); | |
+ if(argc == 2 && !strcmp("-v", argv[1])) { | |
+ fprintf(stderr, "st-"VERSION", © 2007-2008 st engineers, see … | |
+ exit(EXIT_SUCCESS); | |
+ } | |
+ else if(argc != 1) { | |
+ fprintf(stderr, "usage: st [-v]\n"); | |
+ exit(EXIT_FAILURE); | |
+ } | |
return 0; | |
} | |
diff --git a/std.c b/std.c | |
t@@ -3,6 +3,7 @@ | |
#include <sys/types.h> | |
#include <sys/wait.h> | |
#include <ctype.h> | |
+#include <err.h> | |
#include <signal.h> | |
#include <stdarg.h> | |
#include <stdio.h> | |
t@@ -73,7 +74,7 @@ getch() { | |
if(rbuf.i++ >= rbuf.n) { | |
rbuf.n = read(ptm, rbuf.data, LENGTH(rbuf.data)); | |
if(rbuf.n == -1) | |
- eprintn("error, cannot read from slave pty"); | |
+ err(EXIT_FAILURE, "cannot read from slave pty"); | |
rbuf.i = 0; | |
} | |
return rbuf.data[rbuf.i]; | |
t@@ -113,7 +114,7 @@ parseesc(void) { | |
qmark = 1; | |
else if(c == ';') { | |
if(!digit) | |
- eprint("syntax error\n"); | |
+ errx(EXIT_FAILURE, "syntax error"); | |
digit = 0; | |
j++; | |
} | |
t@@ -216,7 +217,7 @@ shell(void) { | |
pid = fork(); | |
switch(pid) { | |
case -1: | |
- eprint("error, cannot fork\n"); | |
+ err(EXIT_FAILURE, "cannot fork"); | |
case 0: | |
setsid(); | |
dup2(pts, STDIN_FILENO); | |
t@@ -237,7 +238,7 @@ sigchld(int n) { | |
int ret; | |
if(waitpid(pid, &ret, 0) == -1) | |
- eprintn("error, waiting for child failed"); | |
+ err(EXIT_FAILURE, "waiting for child failed"); | |
if(WIFEXITED(ret)) | |
exit(WEXITSTATUS(ret)); | |
else | |
t@@ -257,7 +258,7 @@ unbuffer(void) { | |
void | |
ungetch(int c) { | |
if(rbuf.i + 1 >= rbuf.n) | |
- eprint("error, read buffer full\n"); | |
+ errx(EXIT_FAILURE, "read buffer full"); | |
rbuf.data[rbuf.i++] = c; | |
} | |
t@@ -266,10 +267,14 @@ main(int argc, char *argv[]) { | |
fd_set rfds; | |
int r; | |
- if(argc == 2 && !strcmp("-v", argv[1])) | |
- eprint("std-"VERSION", © 2008 Matthias-Christian Ott\n"); | |
- else if(argc == 1) | |
- eprint("usage: st [-v]\n"); | |
+ if(argc == 2 && !strcmp("-v", argv[1])) { | |
+ fprintf(stderr, "std-"VERSION", © 2008 Matthias-Christian Ott… | |
+ exit(EXIT_SUCCESS); | |
+ } | |
+ else if(argc == 1) { | |
+ fprintf(stderr, "usage: st [-v]\n"); | |
+ exit(EXIT_FAILURE); | |
+ } | |
getpty(); | |
shell(); | |
FD_ZERO(&rfds); | |
t@@ -278,7 +283,7 @@ main(int argc, char *argv[]) { | |
for(;;) { | |
r = select(ptm + 1, &rfds, NULL, NULL, NULL); | |
if(r == -1) | |
- eprintn("error, cannot select"); | |
+ err(EXIT_FAILURE, "cannot select"); | |
if(FD_ISSET(ptm, &rfds)) { | |
do { | |
c = getch(); | |
diff --git a/util.c b/util.c | |
t@@ -11,27 +11,6 @@ emallocz(unsigned int size) { | |
void *res = calloc(1, size); | |
if(!res) | |
- eprint("fatal: could not malloc() %u bytes\n", size); | |
+ err(EXIT_FAILURE, "could not malloc() %u bytes\n", size); | |
return res; | |
} | |
- | |
-void | |
-eprint(const char *errstr, ...) { | |
- va_list ap; | |
- | |
- va_start(ap, errstr); | |
- vfprintf(stderr, errstr, ap); | |
- va_end(ap); | |
- exit(EXIT_FAILURE); | |
-} | |
- | |
-void | |
-eprintn(const char *errstr, ...) { | |
- va_list ap; | |
- | |
- va_start(ap, errstr); | |
- vfprintf(stderr, errstr, ap); | |
- va_end(ap); | |
- fprintf(stderr, ": %s\n", strerror(errno)); | |
- exit(EXIT_FAILURE); | |
-} | |
diff --git a/util.h b/util.h | |
t@@ -1,5 +1,3 @@ | |
/* See LICENSE file for copyright and license details. */ | |
void *emallocz(unsigned int size); | |
-void eprint(const char *errstr, ...); | |
-void eprintn(const char *errstr, ...); |