diff options
Diffstat (limited to 'erts/emulator/test/estone_SUITE_data/estone_cat.c')
-rw-r--r-- | erts/emulator/test/estone_SUITE_data/estone_cat.c | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/erts/emulator/test/estone_SUITE_data/estone_cat.c b/erts/emulator/test/estone_SUITE_data/estone_cat.c new file mode 100644 index 0000000000..8ed9f8375b --- /dev/null +++ b/erts/emulator/test/estone_SUITE_data/estone_cat.c @@ -0,0 +1,40 @@ +/* + * Author: Bjorn Gustavsson + * Purpose: Simple portable cat utility for the estone benchmark. + * + * Compiling instructions: + * + * Unix: gcc -O2 -o estone_cat estone_cat.c + * Windows: cl -Ox estone_cat.c + */ + +#include <sys/types.h> +#include <fcntl.h> +#include <errno.h> + +#ifdef VXWORKS +estone_cat(argc, argv) +#else +main(argc, argv) +#endif +int argc; +char *argv[]; +{ + char buf[16384]; + int n; + +#ifdef _O_BINARY + _setmode(0, _O_BINARY); + _setmode(1, _O_BINARY); +#endif + + for (;;) { + n = read(0, buf, sizeof(buf)); + if (n <= 0 && errno == EINTR) + continue; + if (n <= 0) + break; + write(1, buf, n); + } + return 0; +} |