From 1f1e44096daa4928649808997b3d9bf5efee6cc8 Mon Sep 17 00:00:00 2001 From: Curtis McEnroe Date: Sun, 18 Sep 2016 13:15:05 -0400 Subject: Clean up error handling in pbd --- .bin/pbd.c | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) (limited to '.bin/pbd.c') diff --git a/.bin/pbd.c b/.bin/pbd.c index 47fdedc4..9e716d6d 100755 --- a/.bin/pbd.c +++ b/.bin/pbd.c @@ -8,6 +8,7 @@ exec clang -Weverything $@ -o $(dirname $0)/pbd $0 #include #include #include +#include #include #include @@ -17,19 +18,23 @@ static void spawn(const char *cmd, int child_fd, int parent_fd) { if (pid) { int status; - if (waitpid(pid, &status, 0) < 0) - err(EX_OSERR, "waitpid"); + pid_t wait = waitpid(pid, &status, 0); + if (wait < 0) err(EX_OSERR, "waitpid"); + if (status) warnx("child %s status %d", cmd, status); } else { - if (dup2(parent_fd, child_fd) < 0) - err(EX_OSERR, "dup2"); - if (execlp(cmd, cmd) < 0) - err(EX_OSERR, "execlp"); + int fd = dup2(parent_fd, child_fd); + if (fd < 0) err(EX_OSERR, "dup2"); + + int error = execlp(cmd, cmd); + if (error) err(EX_OSERR, "execlp"); } } int main() { + int error; + int server = socket(PF_INET, SOCK_STREAM, 0); if (server < 0) err(EX_OSERR, "socket"); @@ -39,11 +44,11 @@ int main() { .sin_addr = { .s_addr = htonl(0x7f000001) }, }; - if (bind(server, (struct sockaddr *) &addr, sizeof(addr)) < 0) - err(EX_OSERR, "bind"); + error = bind(server, (struct sockaddr *) &addr, sizeof(addr)); + if (error) err(EX_OSERR, "bind"); - if (listen(server, 1) < 0) - err(EX_OSERR, "listen"); + error = listen(server, 1); + if (error) err(EX_OSERR, "listen"); for (;;) { int client = accept(server, NULL, NULL); @@ -57,7 +62,7 @@ int main() { if (peek) spawn("pbcopy", STDIN_FILENO, client); - if (close(client) < 0) - err(EX_IOERR, "close"); + error = close(client); + if (error) err(EX_IOERR, "close"); } } -- cgit 1.4.1 47e3ba76c63abd736db52448ca&follow=1'>config (unfollow)
Commit message (Expand)Author
2019-02-15Add nmap gpJune McEnroe
2019-02-14Avoid newline when copying URL to pasteboardJune McEnroe
2019-02-13Add forgotten "sixth" book of H2G2June McEnroe