OpenCoverage

getndelim2.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/coreutils/src/gnulib/lib/getndelim2.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6ssize_t-
7getndelim2 (char **lineptr, size_t *linesize, size_t offset, size_t nmax,-
8 int delim1, int delim2, FILE *stream)-
9{-
10 size_t nbytes_avail;-
11 char *read_pos;-
12 ssize_t bytes_stored = -1;-
13 char *ptr = *lineptr;-
14 size_t size = *linesize;-
15 -
16 _Bool -
17 found_delimiter;-
18-
19 if (!ptr
!ptrDescription
TRUEevaluated 83 times by 1 test
Evaluated by:
  • cut
FALSEevaluated 83 times by 1 test
Evaluated by:
  • cut
)
83
20 {-
21 size = nmax < 64
nmax < 64Description
TRUEnever evaluated
FALSEevaluated 83 times by 1 test
Evaluated by:
  • cut
? nmax : 64;
0-83
22 ptr = malloc (size);-
23 if (!ptr
!ptrDescription
TRUEnever evaluated
FALSEevaluated 83 times by 1 test
Evaluated by:
  • cut
)
0-83
24 return
never executed: return -1;
-1;
never executed: return -1;
0
25 }
executed 83 times by 1 test: end of block
Executed by:
  • cut
83
26-
27 if (size < offset
size < offsetDescription
TRUEnever evaluated
FALSEevaluated 166 times by 1 test
Evaluated by:
  • cut
)
0-166
28 goto
never executed: goto done;
done;
never executed: goto done;
0
29-
30 nbytes_avail = size - offset;-
31 read_pos = ptr + offset;-
32-
33 if (nbytes_avail == 0
nbytes_avail == 0Description
TRUEnever evaluated
FALSEevaluated 166 times by 1 test
Evaluated by:
  • cut
&& nmax <= size
nmax <= sizeDescription
TRUEnever evaluated
FALSEnever evaluated
)
0-166
34 goto
never executed: goto done;
done;
never executed: goto done;
0
35-
36-
37 if (delim1 ==
delim1 == (-1)Description
TRUEnever evaluated
FALSEevaluated 166 times by 1 test
Evaluated by:
  • cut
0-166
38 (-1)
delim1 == (-1)Description
TRUEnever evaluated
FALSEevaluated 166 times by 1 test
Evaluated by:
  • cut
0-166
39 )-
40 delim1 = delim2;
never executed: delim1 = delim2;
0
41 else if (delim2 ==
delim2 == (-1)Description
TRUEnever evaluated
FALSEevaluated 166 times by 1 test
Evaluated by:
  • cut
0-166
42 (-1)
delim2 == (-1)Description
TRUEnever evaluated
FALSEevaluated 166 times by 1 test
Evaluated by:
  • cut
0-166
43 )-
44 delim2 = delim1;
never executed: delim2 = delim1;
0
45-
46 ((void) 0);-
47-
48 found_delimiter = -
49 0-
50 ;-
51 do-
52 {-
53-
54-
55-
56 int c ;-
57 const char *buffer;-
58 size_t buffer_len;-
59-
60 buffer = freadptr (stream, &buffer_len);-
61 if (buffer
bufferDescription
TRUEevaluated 110 times by 1 test
Evaluated by:
  • cut
FALSEevaluated 61 times by 1 test
Evaluated by:
  • cut
)
61-110
62 {-
63 if (delim1 !=
delim1 != (-1)Description
TRUEevaluated 110 times by 1 test
Evaluated by:
  • cut
FALSEnever evaluated
0-110
64 (-1)
delim1 != (-1)Description
TRUEevaluated 110 times by 1 test
Evaluated by:
  • cut
FALSEnever evaluated
0-110
65 )-
66 {-
67 const char *end = memchr2 (buffer, delim1, delim2, buffer_len);-
68 if (end
endDescription
TRUEevaluated 105 times by 1 test
Evaluated by:
  • cut
FALSEevaluated 5 times by 1 test
Evaluated by:
  • cut
)
5-105
69 {-
70 buffer_len = end - buffer + 1;-
71 found_delimiter = -
72 1-
73 ;-
74 }
executed 105 times by 1 test: end of block
Executed by:
  • cut
105
75 }
executed 110 times by 1 test: end of block
Executed by:
  • cut
110
76 }
executed 110 times by 1 test: end of block
Executed by:
  • cut
110
77 else-
78 {-
79 c = getc_unlocked (stream);-
80 if (c ==
c == (-1)Description
TRUEevaluated 61 times by 1 test
Evaluated by:
  • cut
FALSEnever evaluated
0-61
81 (-1)
c == (-1)Description
TRUEevaluated 61 times by 1 test
Evaluated by:
  • cut
FALSEnever evaluated
0-61
82 )-
83 {-
84-
85 if (read_pos == ptr
read_pos == ptrDescription
TRUEevaluated 56 times by 1 test
Evaluated by:
  • cut
FALSEevaluated 5 times by 1 test
Evaluated by:
  • cut
)
5-56
86 goto
executed 56 times by 1 test: goto unlock_done;
Executed by:
  • cut
unlock_done;
executed 56 times by 1 test: goto unlock_done;
Executed by:
  • cut
56
87 else-
88 break;
executed 5 times by 1 test: break;
Executed by:
  • cut
5
89 }-
90 if (c == delim1
c == delim1Description
TRUEnever evaluated
FALSEnever evaluated
|| c == delim2
c == delim2Description
TRUEnever evaluated
FALSEnever evaluated
)
0
91 found_delimiter =
never executed: found_delimiter = 1 ;
0
92 1
never executed: found_delimiter = 1 ;
0
93 ;
never executed: found_delimiter = 1 ;
0
94 buffer_len = 1;-
95 }
never executed: end of block
0
96-
97-
98-
99-
100-
101 if (nbytes_avail < buffer_len + 1
nbytes_avail < buffer_len + 1Description
TRUEnever evaluated
FALSEevaluated 110 times by 1 test
Evaluated by:
  • cut
&& size < nmax
size < nmaxDescription
TRUEnever evaluated
FALSEnever evaluated
)
0-110
102 {-
103-
104-
105 size_t newsize = size < 64
size < 64Description
TRUEnever evaluated
FALSEnever evaluated
? size + 64 : 2 * size;
0
106 char *newptr;-
107-
108-
109-
110 if (newsize - (read_pos - ptr) < buffer_len + 1
newsize - (rea...buffer_len + 1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
111 newsize = (read_pos - ptr) + buffer_len + 1;
never executed: newsize = (read_pos - ptr) + buffer_len + 1;
0
112-
113 if (! (size < newsize
size < newsizeDescription
TRUEnever evaluated
FALSEnever evaluated
&& newsize <= nmax
newsize <= nmaxDescription
TRUEnever evaluated
FALSEnever evaluated
))
0
114 newsize = nmax;
never executed: newsize = nmax;
0
115-
116 if ((
( (92233720368...wsize - offsetDescription
TRUEnever evaluated
FALSEnever evaluated
0
117 (
(9223372036854...fffffffffffffLDescription
TRUEnever evaluated
FALSEnever evaluated
9223372036854775807L)
(9223372036854...fffffffffffffLDescription
TRUEnever evaluated
FALSEnever evaluated
( (92233720368...wsize - offsetDescription
TRUEnever evaluated
FALSEnever evaluated
0
118 < 0x7fffffffffffffffL
(9223372036854...fffffffffffffLDescription
TRUEnever evaluated
FALSEnever evaluated
?
( (92233720368...wsize - offsetDescription
TRUEnever evaluated
FALSEnever evaluated
0
119 (9223372036854775807L)
( (92233720368...wsize - offsetDescription
TRUEnever evaluated
FALSEnever evaluated
0
120 : 0x7fffffffffffffffL) < newsize - offset
( (92233720368...wsize - offsetDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
121 {-
122 size_t newsizemax = offset + (-
123 (
(9223372036854...fffffffffffffLDescription
TRUEnever evaluated
FALSEnever evaluated
9223372036854775807L)
(9223372036854...fffffffffffffLDescription
TRUEnever evaluated
FALSEnever evaluated
0
124 < 0x7fffffffffffffffL
(9223372036854...fffffffffffffLDescription
TRUEnever evaluated
FALSEnever evaluated
?
0
125 (9223372036854775807L) -
126 : 0x7fffffffffffffffL) + 1;-
127 if (size == newsizemax
size == newsizemaxDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
128 goto
never executed: goto unlock_done;
unlock_done;
never executed: goto unlock_done;
0
129 newsize = newsizemax;-
130 }
never executed: end of block
0
131-
132 nbytes_avail = newsize - (read_pos - ptr);-
133 newptr = realloc (ptr, newsize);-
134 if (!newptr
!newptrDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
135 goto
never executed: goto unlock_done;
unlock_done;
never executed: goto unlock_done;
0
136 ptr = newptr;-
137 size = newsize;-
138 read_pos = size - nbytes_avail + ptr;-
139 }
never executed: end of block
0
140-
141-
142-
143-
144 if (1 < nbytes_avail
1 < nbytes_availDescription
TRUEevaluated 110 times by 1 test
Evaluated by:
  • cut
FALSEnever evaluated
)
0-110
145 {-
146 size_t copy_len = nbytes_avail - 1;-
147 if (buffer_len < copy_len
buffer_len < copy_lenDescription
TRUEevaluated 110 times by 1 test
Evaluated by:
  • cut
FALSEnever evaluated
)
0-110
148 copy_len = buffer_len;
executed 110 times by 1 test: copy_len = buffer_len;
Executed by:
  • cut
110
149 if (buffer
bufferDescription
TRUEevaluated 110 times by 1 test
Evaluated by:
  • cut
FALSEnever evaluated
)
0-110
150 memcpy (read_pos, buffer, copy_len);
executed 110 times by 1 test: memcpy (read_pos, buffer, copy_len);
Executed by:
  • cut
110
151 else-
152 *
never executed: *read_pos = c;
read_pos = c;
never executed: *read_pos = c;
0
153 read_pos += copy_len;-
154 nbytes_avail -= copy_len;-
155 }
executed 110 times by 1 test: end of block
Executed by:
  • cut
110
156-
157-
158-
159 if (buffer
bufferDescription
TRUEevaluated 110 times by 1 test
Evaluated by:
  • cut
FALSEnever evaluated
&& freadseek (stream, buffer_len)
freadseek (stream, buffer_len)Description
TRUEnever evaluated
FALSEevaluated 110 times by 1 test
Evaluated by:
  • cut
)
0-110
160 goto
never executed: goto unlock_done;
unlock_done;
never executed: goto unlock_done;
0
161 }
executed 110 times by 1 test: end of block
Executed by:
  • cut
110
162 while (!found_delimiter
!found_delimiterDescription
TRUEevaluated 5 times by 1 test
Evaluated by:
  • cut
FALSEevaluated 105 times by 1 test
Evaluated by:
  • cut
);
5-105
163-
164-
165-
166 *read_pos = '\0';-
167-
168 bytes_stored = read_pos - (ptr + offset);-
169-
170 unlock_done:
code before this statement executed 110 times by 1 test: unlock_done:
Executed by:
  • cut
110
171 ((void) 0);-
172-
173 done:
code before this statement executed 166 times by 1 test: done:
Executed by:
  • cut
166
174 *lineptr = ptr;-
175 *linesize = size;-
176 return
executed 166 times by 1 test: return bytes_stored ? bytes_stored : -1;
Executed by:
  • cut
bytes_stored ? bytes_stored : -1;
executed 166 times by 1 test: return bytes_stored ? bytes_stored : -1;
Executed by:
  • cut
166
177}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.1.2