diff options
Diffstat (limited to 'client/libacron/net.c')
-rw-r--r-- | client/libacron/net.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/client/libacron/net.c b/client/libacron/net.c index cbbe113..62ee4a6 100644 --- a/client/libacron/net.c +++ b/client/libacron/net.c @@ -229,7 +229,9 @@ int ac_receive(void *connection, /* In case the deserializer does not run at all. */ memset(res, 0, sizeof(struct ac_result)); if (len) { + size_t pos_starting = pos; for (; pos < len; pos += retval) { + LOGDV("wic_parse[%lu]", pos); retval = wic_parse(inst, &ptr[pos], len - pos); if (wic_get_state(inst) == WIC_STATE_CLOSED) { LOGE("Connection closed."); @@ -242,7 +244,7 @@ int ac_receive(void *connection, break; } } - *len_read = pos; + *len_read = pos - pos_starting; } else { retval = wic_parse(inst, &ptr[pos], len - pos); if (wic_get_state(inst) == WIC_STATE_CLOSED) { |