From 505621a31c62d13a77bdbf242c82324fe70a585f Mon Sep 17 00:00:00 2001 From: Russ Meyerriecks Date: Thu, 21 Jul 2011 17:29:34 +0000 Subject: [PATCH] patlooptest: Ignore the first buffered event Fixes the feature introduced in r9909 that allows patlooptest to monitor channel events. Patlooptest was reporting events that we don't care about, prior to reading from the channel. This fix ignore the first event read on a channel and reports all subsequent events properly. Signed-off-by: Russ Meyerriecks git-svn-id: http://svn.astersk.org/svn/dahdi/tools/trunk@10071 17933a7a-c749-41c5-a318-cba88f637d49 --- patlooptest.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/patlooptest.c b/patlooptest.c index f003ae1..7563bfe 100644 --- a/patlooptest.c +++ b/patlooptest.c @@ -167,6 +167,7 @@ int main(int argc, char *argv[]) char * device; int opt; int oldstyle_cmdline = 1; + unsigned int event_count = 0; /* Parse the command line arguments */ while((opt = getopt(argc, argv, "b:s:t:r:v?h")) != -1) { @@ -248,9 +249,14 @@ int main(int argc, char *argv[]) write_again: res = write(fd,outbuf,bs); if (res != bs) { - printf("W: Res is %d: %s\n", res, strerror(errno)); - ioctl(fd, DAHDI_GETEVENT, &x); - printf("Event: %d\n", x); + if (ELAST == errno) { + ioctl(fd, DAHDI_GETEVENT, &x); + if (event_count > 0) + printf("Event: %d\n", x); + ++event_count; + } else { + printf("W: Res is %d: %s\n", res, strerror(errno)); + } goto write_again; }