From 688412ff7de452f81b420808b04a65024802c876 Mon Sep 17 00:00:00 2001 From: Anders Blomdell <anders.blomdell@control.lth.se> Date: Fri, 28 Jun 2013 19:46:34 +0200 Subject: [PATCH] Call handler only when reader is without errors. --- lib/c/labcomm_decoder.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/c/labcomm_decoder.c b/lib/c/labcomm_decoder.c index bdf5f43..7d657d7 100644 --- a/lib/c/labcomm_decoder.c +++ b/lib/c/labcomm_decoder.c @@ -259,11 +259,13 @@ static void call_handler(void *value, void *context) { struct call_handler_context *wrap = context; - labcomm_reader_start(wrap->reader, wrap->reader->action_context, - wrap->local_index, wrap->remote_index, wrap->signature, - value); - wrap->handler(value, wrap->context); - labcomm_reader_end(wrap->reader, wrap->reader->action_context); + if (wrap->reader->error >= 0) { + labcomm_reader_start(wrap->reader, wrap->reader->action_context, + wrap->local_index, wrap->remote_index, wrap->signature, + value); + wrap->handler(value, wrap->context); + labcomm_reader_end(wrap->reader, wrap->reader->action_context); + } } static void reader_alloc(struct labcomm_decoder *d) -- GitLab