diff options
Diffstat (limited to 'src/iobuf.c')
| -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++]); |
