X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=tests%2Fexample.h;h=be1659c0820e2ded69a4ff2fc7b007b301ec251b;hb=3e894f0f32aa021b5c9033c3c71539c3965aa6de;hp=facbc30d5b4660170981751fb0fc92f0ffc9d52f;hpb=941370dda9f22ca42e1d5b3cd580d7e7091d40bc;p=coloredstderr%2Fcoloredstderr.git diff --git a/tests/example.h b/tests/example.h index facbc30..be1659c 100644 --- a/tests/example.h +++ b/tests/example.h @@ -1,7 +1,7 @@ /* * Helper functions/macros for example files. * - * Copyright (C) 2013 Simon Ruderich + * Copyright (C) 2013-2014 Simon Ruderich * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -36,3 +36,22 @@ } \ fflush(stdout); \ } else + +static ssize_t xwrite(int fd, void const *buf, size_t count) { + ssize_t result = write(fd, buf, count); + if (result == -1) { + perror("write"); + exit(EXIT_FAILURE); + } + /* Ignore short writes here. Doesn't matter for test cases. */ + return result; +} + +static int xdup2(int oldfd, int newfd) { + int result = dup2(oldfd, newfd); + if (result == -1) { + perror("dup2"); + exit(EXIT_FAILURE); + } + return result; +}