From 16b66f4d9b2ac49677e0da4f35a9c07092422d9c Mon Sep 17 00:00:00 2001 From: Peter Wu Date: Sat, 30 Nov 2013 19:47:01 +0100 Subject: xor-files: support - for stdin --- xor-files.c | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/xor-files.c b/xor-files.c index 762ad63..a8a288c 100644 --- a/xor-files.c +++ b/xor-files.c @@ -6,6 +6,20 @@ #include #include #include +#include + +int open_file(const char *filename) { + int fd; + + if (!strcmp(filename, "-")) + return STDIN_FILENO; + + fd = open(filename, O_RDONLY); + if (fd < 0) + errx(1, "open(%s)", filename); + + return fd; +} int main(int argc, char **argv) { int fd1, fd2; @@ -14,13 +28,8 @@ int main(int argc, char **argv) { if (argc < 3) errx(1, "Usage: xor-files file1 file2"); - fd1 = open(argv[1], O_RDONLY); - if (fd1 < 0) - errx(1, "open(%s)", argv[1]); - - fd2 = open(argv[2], O_RDONLY); - if (fd2 < 0) - errx(1, "open(%s)", argv[2]); + fd1 = open_file(argv[1]); + fd2 = open_file(argv[2]); do { int errno1, errno2; -- cgit v1.2.1