summaryrefslogtreecommitdiff
path: root/src/iobuf.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/iobuf.c')
-rw-r--r--src/iobuf.c6
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++]);