Coverage Report

Created: 2023-09-25 06:33

/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
}