diff options
| author | Chase Douglas <chase.douglas@canonical.com> | 2010-06-21 09:57:56 -0400 |
|---|---|---|
| committer | Henrik Rydberg <rydberg@euromail.se> | 2010-06-22 00:44:33 +0200 |
| commit | dbbf15a7fad8b76122061344aeddb652bd4fe442 (patch) | |
| tree | 0d12fe50a84d40e11c1afa5d0d8b298fac3dec7a /src | |
| parent | 922332131c329b9d444c434d68a2f21e3076ae0c (diff) | |
mtdev_get: return number of retrieved events if error occurs
Otherwise, we pull events, but return -1. We should send the events we
were able to retrieve for now.
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Diffstat (limited to 'src')
| -rw-r--r-- | src/iobuf.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/iobuf.c b/src/iobuf.c index 85a9f19..b58fdf6 100644 --- a/src/iobuf.c +++ b/src/iobuf.c | |||
| @@ -76,10 +76,8 @@ int mtdev_get(struct mtdev *dev, int fd, struct input_event* ev, int ev_max) | |||
| 76 | while (count < ev_max) { | 76 | while (count < ev_max) { |
| 77 | while (mtdev_empty(dev)) { | 77 | while (mtdev_empty(dev)) { |
| 78 | ret = mtdev_fetch_event(dev, fd, &kev); | 78 | ret = mtdev_fetch_event(dev, fd, &kev); |
| 79 | if (ret < 0) | 79 | if (ret <= 0) |
| 80 | return ret; | 80 | return count > 0 ? count : ret; |
| 81 | if (ret == 0) | ||
| 82 | return count; | ||
| 83 | mtdev_put_event(dev, &kev); | 81 | mtdev_put_event(dev, &kev); |
| 84 | } | 82 | } |
| 85 | mtdev_get_event(dev, &ev[count++]); | 83 | mtdev_get_event(dev, &ev[count++]); |
