Browse Source

replace eprint() functions with BSD error functions

Matthias-Christian Ott 16 years ago
parent
commit
f982c1c37c
5 changed files with 31 additions and 45 deletions
  1. 6 6
      pty.c
  2. 9 5
      st.c
  3. 15 10
      std.c
  4. 1 22
      util.c
  5. 0 2
      util.h

+ 6 - 6
pty.c

@@ -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
 }

+ 9 - 5
st.c

@@ -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 for details\n");
-	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 LICENSE for details\n");
+		exit(EXIT_SUCCESS);
+	}
+	else if(argc != 1) {
+		fprintf(stderr, "usage: st [-v]\n");
+		exit(EXIT_FAILURE);
+	}
 	return 0;
 }

+ 15 - 10
std.c

@@ -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>
@@ -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];
@@ -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++;
 			}
@@ -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);
@@ -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
@@ -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;
 }
 
@@ -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\n");
+		exit(EXIT_SUCCESS);
+	}
+	else if(argc == 1) {
+		fprintf(stderr, "usage: st [-v]\n");
+		exit(EXIT_FAILURE);
+	}
 	getpty();
 	shell();
 	FD_ZERO(&rfds);
@@ -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();

+ 1 - 22
util.c

@@ -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);
-}

+ 0 - 2
util.h

@@ -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, ...);