/src/qubes-os/app-linux-input-proxy/src/common.c
Line | Count | Source (jump to first uncovered line) |
1 | | #include <unistd.h> |
2 | | |
3 | 2.01k | int read_all(int fd, void *buf, size_t size) { |
4 | 2.01k | size_t pos = 0; |
5 | 2.01k | int ret; |
6 | | |
7 | 3.84k | while (pos < size) { |
8 | 2.03k | ret = read(fd, buf+pos, size-pos); |
9 | 2.03k | if (ret <= 0) |
10 | 203 | return ret; |
11 | 1.82k | pos += ret; |
12 | 1.82k | } |
13 | 1.81k | return pos; |
14 | 2.01k | } |
15 | | |
16 | 282 | int write_all(int fd, void *buf, size_t size) { |
17 | 282 | size_t pos = 0; |
18 | 282 | int ret; |
19 | | |
20 | 564 | while (pos < size) { |
21 | 282 | ret = write(fd, buf+pos, size-pos); |
22 | 282 | if (ret == -1) |
23 | 0 | return -1; |
24 | 282 | pos += ret; |
25 | 282 | } |
26 | 282 | return pos; |
27 | 282 | } |