From b0499d73b55c060b4177c4d8da5d4990be7744dd Mon Sep 17 00:00:00 2001 From: June McEnroe Date: Tue, 4 Jul 2017 22:10:00 -0400 Subject: Consolidate pbd, pbcopy, pbpaste --- home/.bin/pbcopy.c | 55 ------------------------------------------------------ 1 file changed, 55 deletions(-) delete mode 100755 home/.bin/pbcopy.c (limited to 'home/.bin/pbcopy.c') diff --git a/home/.bin/pbcopy.c b/home/.bin/pbcopy.c deleted file mode 100755 index 23403d2d..00000000 --- a/home/.bin/pbcopy.c +++ /dev/null @@ -1,55 +0,0 @@ -#if 0 -cc -Wall -Wextra -pedantic $@ -o $(dirname $0)/pbcopy $0 && \ -exec cc -Wall -Wextra -pedantic -DPBPASTE $@ -o $(dirname $0)/pbpaste $0 -#endif - -// pbcopy and pbpaste implementation which connects to pbd. - -#include -#include -#include -#include -#include -#include -#include - -int main() { - int error; - - int client = socket(PF_INET, SOCK_STREAM, 0); - if (client < 0) err(EX_OSERR, "socket"); - - struct sockaddr_in addr = { - .sin_family = AF_INET, - .sin_port = htons(7062), - .sin_addr = { .s_addr = htonl(0x7f000001) }, - }; - - error = connect(client, (struct sockaddr *)&addr, sizeof(addr)); - if (error) err(EX_OSERR, "connect"); - -#ifdef PBPASTE - int fdIn = client; - int fdOut = STDOUT_FILENO; - error = shutdown(client, SHUT_WR); - if (error) err(EX_OSERR, "shutdown"); -#else - int fdIn = STDIN_FILENO; - int fdOut = client; -#endif - - char readBuf[4096]; - ssize_t readLen; - while (0 < (readLen = read(fdIn, readBuf, sizeof(readBuf)))) { - char *writeBuf = readBuf; - ssize_t writeLen; - while (0 < (writeLen = write(fdOut, writeBuf, readLen))) { - writeBuf += writeLen; - readLen -= writeLen; - } - if (writeLen < 0) err(EX_IOERR, "write"); - } - if (readLen < 0) err(EX_IOERR, "read"); - - return EX_OK; -} -- cgit 1.4.1