From 8e4b74e08463726c065b3243a1002722908dddd3 Mon Sep 17 00:00:00 2001 From: Jan Kratochvil Date: Sun, 27 Nov 2011 22:07:50 +0100 Subject: [PATCH] Fix runtest-read1. --- bin/expect-read1 | 3 +++ src/read1.c | 22 ++++++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100755 bin/expect-read1 create mode 100644 src/read1.c diff --git a/bin/expect-read1 b/bin/expect-read1 new file mode 100755 index 0000000..574bf59 --- /dev/null +++ b/bin/expect-read1 @@ -0,0 +1,3 @@ +#! /bin/sh +export LD_PRELOAD=$HOME/redhat/src/read1.so +exec /usr/bin/expect "$@" diff --git a/src/read1.c b/src/read1.c new file mode 100644 index 0000000..47ba4b7 --- /dev/null +++ b/src/read1.c @@ -0,0 +1,22 @@ +#define _GNU_SOURCE 1 +#include +#include +#include +#include + +ssize_t +read (int fd, void *buf, size_t count) +{ + static ssize_t (*read2) (int fd, void *buf, size_t count) = NULL; + + if (read2 == NULL) + { + unsetenv ("LD_PRELOAD"); + read2 = dlsym (RTLD_NEXT, "read"); + } + + if (count > 0 && isatty (fd) >= 1) + count = 1; + + return read2 (fd, buf, count); +} -- 1.8.3.1