Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/coreutils/src/lib/vasnprintf.c |
Switch to Source code | Preprocessed file |
Line | Source | Count | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | - | |||||||||||||||||||||||||||||||
2 | - | |||||||||||||||||||||||||||||||
3 | - | |||||||||||||||||||||||||||||||
4 | - | |||||||||||||||||||||||||||||||
5 | - | |||||||||||||||||||||||||||||||
6 | - | |||||||||||||||||||||||||||||||
7 | - | |||||||||||||||||||||||||||||||
8 | - | |||||||||||||||||||||||||||||||
9 | - | |||||||||||||||||||||||||||||||
10 | - | |||||||||||||||||||||||||||||||
11 | - | |||||||||||||||||||||||||||||||
12 | - | |||||||||||||||||||||||||||||||
13 | - | |||||||||||||||||||||||||||||||
14 | - | |||||||||||||||||||||||||||||||
15 | - | |||||||||||||||||||||||||||||||
16 | - | |||||||||||||||||||||||||||||||
17 | - | |||||||||||||||||||||||||||||||
18 | - | |||||||||||||||||||||||||||||||
19 | - | |||||||||||||||||||||||||||||||
20 | - | |||||||||||||||||||||||||||||||
21 | - | |||||||||||||||||||||||||||||||
22 | - | |||||||||||||||||||||||||||||||
23 | - | |||||||||||||||||||||||||||||||
24 | char * | - | ||||||||||||||||||||||||||||||
25 | vasnprintf (char *resultbuf, size_t *lengthp, | - | ||||||||||||||||||||||||||||||
26 | const char *format, va_list args) | - | ||||||||||||||||||||||||||||||
27 | { | - | ||||||||||||||||||||||||||||||
28 | char_directives d; | - | ||||||||||||||||||||||||||||||
29 | arguments a; | - | ||||||||||||||||||||||||||||||
30 | - | |||||||||||||||||||||||||||||||
31 | if (printf_parse (format, &d, &a) < 0
| 0 | ||||||||||||||||||||||||||||||
32 | - | |||||||||||||||||||||||||||||||
33 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||||||||
34 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||||||||
35 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||||||||
36 | - | |||||||||||||||||||||||||||||||
37 | - | |||||||||||||||||||||||||||||||
38 | - | |||||||||||||||||||||||||||||||
39 | - | |||||||||||||||||||||||||||||||
40 | - | |||||||||||||||||||||||||||||||
41 | - | |||||||||||||||||||||||||||||||
42 | - | |||||||||||||||||||||||||||||||
43 | if (printf_fetchargs (args, &a) < 0
| 0 | ||||||||||||||||||||||||||||||
44 | { | - | ||||||||||||||||||||||||||||||
45 | if (d.dir != d.direct_alloc_dir
never executed: if (a.arg != a.direct_alloc_argfree (d.dir);
never executed: ;free (a.arg); | 0 | ||||||||||||||||||||||||||||||
46 | - | |||||||||||||||||||||||||||||||
47 | (*__errno_location ()) | - | ||||||||||||||||||||||||||||||
48 | = | - | ||||||||||||||||||||||||||||||
49 | 22 | - | ||||||||||||||||||||||||||||||
50 | ; | - | ||||||||||||||||||||||||||||||
51 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||||||||
52 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||||||||
53 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||||||||
54 | } | - | ||||||||||||||||||||||||||||||
55 | - | |||||||||||||||||||||||||||||||
56 | { | - | ||||||||||||||||||||||||||||||
57 | size_t buf_neededlength; | - | ||||||||||||||||||||||||||||||
58 | char *buf; | - | ||||||||||||||||||||||||||||||
59 | char *buf_malloced; | - | ||||||||||||||||||||||||||||||
60 | const char *cp; | - | ||||||||||||||||||||||||||||||
61 | size_t i; | - | ||||||||||||||||||||||||||||||
62 | char_directive *dp; | - | ||||||||||||||||||||||||||||||
63 | - | |||||||||||||||||||||||||||||||
64 | char *result; | - | ||||||||||||||||||||||||||||||
65 | size_t allocated; | - | ||||||||||||||||||||||||||||||
66 | size_t length; | - | ||||||||||||||||||||||||||||||
67 | - | |||||||||||||||||||||||||||||||
68 | - | |||||||||||||||||||||||||||||||
69 | - | |||||||||||||||||||||||||||||||
70 | buf_neededlength = | - | ||||||||||||||||||||||||||||||
71 | xsum4 (7, d.max_width_length, d.max_precision_length, 6); | - | ||||||||||||||||||||||||||||||
72 | - | |||||||||||||||||||||||||||||||
73 | if (buf_neededlength < 4000 / sizeof (char)
| 0 | ||||||||||||||||||||||||||||||
74 | { | - | ||||||||||||||||||||||||||||||
75 | buf = (char *) __builtin_alloca (buf_neededlength * sizeof (char)); | - | ||||||||||||||||||||||||||||||
76 | buf_malloced = | - | ||||||||||||||||||||||||||||||
77 | ((void *)0) | - | ||||||||||||||||||||||||||||||
78 | ; | - | ||||||||||||||||||||||||||||||
79 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
80 | else | - | ||||||||||||||||||||||||||||||
81 | - | |||||||||||||||||||||||||||||||
82 | { | - | ||||||||||||||||||||||||||||||
83 | size_t buf_memsize = ((
| 0 | ||||||||||||||||||||||||||||||
84 | (18446744073709551615UL)
| 0 | ||||||||||||||||||||||||||||||
85 | / (sizeof (char))
| 0 | ||||||||||||||||||||||||||||||
86 | (18446744073709551615UL) | - | ||||||||||||||||||||||||||||||
87 | ); | - | ||||||||||||||||||||||||||||||
88 | if (((
| 0 | ||||||||||||||||||||||||||||||
89 | (18446744073709551615UL)
| 0 | ||||||||||||||||||||||||||||||
90 | )
| 0 | ||||||||||||||||||||||||||||||
91 | goto never executed: out_of_memory_1;goto out_of_memory_1; never executed: goto out_of_memory_1; | 0 | ||||||||||||||||||||||||||||||
92 | buf = (char *) malloc (buf_memsize); | - | ||||||||||||||||||||||||||||||
93 | if (buf ==
| 0 | ||||||||||||||||||||||||||||||
94 | ((void *)0)
| 0 | ||||||||||||||||||||||||||||||
95 | ) | - | ||||||||||||||||||||||||||||||
96 | goto never executed: out_of_memory_1;goto out_of_memory_1; never executed: goto out_of_memory_1; | 0 | ||||||||||||||||||||||||||||||
97 | buf_malloced = buf; | - | ||||||||||||||||||||||||||||||
98 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
99 | - | |||||||||||||||||||||||||||||||
100 | if (resultbuf !=
| 0 | ||||||||||||||||||||||||||||||
101 | ((void *)0)
| 0 | ||||||||||||||||||||||||||||||
102 | ) | - | ||||||||||||||||||||||||||||||
103 | { | - | ||||||||||||||||||||||||||||||
104 | result = resultbuf; | - | ||||||||||||||||||||||||||||||
105 | allocated = *lengthp; | - | ||||||||||||||||||||||||||||||
106 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
107 | else | - | ||||||||||||||||||||||||||||||
108 | { | - | ||||||||||||||||||||||||||||||
109 | result = | - | ||||||||||||||||||||||||||||||
110 | ((void *)0) | - | ||||||||||||||||||||||||||||||
111 | ; | - | ||||||||||||||||||||||||||||||
112 | allocated = 0; | - | ||||||||||||||||||||||||||||||
113 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
114 | length = 0; | - | ||||||||||||||||||||||||||||||
115 | for (cp = format, i = 0, dp = &d.dir[0]; ; cp = dp->dir_end, i++, dp++) | - | ||||||||||||||||||||||||||||||
116 | { | - | ||||||||||||||||||||||||||||||
117 | if (cp != dp->dir_start
| 0 | ||||||||||||||||||||||||||||||
118 | { | - | ||||||||||||||||||||||||||||||
119 | size_t n = dp->dir_start - cp; | - | ||||||||||||||||||||||||||||||
120 | size_t augmented_length = xsum (length, n); | - | ||||||||||||||||||||||||||||||
121 | - | |||||||||||||||||||||||||||||||
122 | if ((
| 0 | ||||||||||||||||||||||||||||||
123 | (18446744073709551615UL)
| 0 | ||||||||||||||||||||||||||||||
124 | / (2)
| 0 | ||||||||||||||||||||||||||||||
125 | (18446744073709551615UL) | - | ||||||||||||||||||||||||||||||
126 | ) : 12); if ((
never executed: memory_size = ((allocated = (augmented_length);
| 0 | ||||||||||||||||||||||||||||||
127 | (18446744073709551615UL)
| 0 | ||||||||||||||||||||||||||||||
128 | / (sizeof (char))
| 0 | ||||||||||||||||||||||||||||||
129 | (18446744073709551615UL) | - | ||||||||||||||||||||||||||||||
130 | ); if (((
| 0 | ||||||||||||||||||||||||||||||
131 | (18446744073709551615UL)
| 0 | ||||||||||||||||||||||||||||||
132 | )
never executed: out_of_memory;goto out_of_memory; never executed: if (result == resultbufgoto out_of_memory;
| 0 | ||||||||||||||||||||||||||||||
133 | ((void *)0)
| 0 | ||||||||||||||||||||||||||||||
134 | ) memory = (char *) malloc (memory_size); never executed: else memory = (char *) realloc (result, memory_size);memory = (char *) malloc (memory_size); never executed: if (memory == memory = (char *) realloc (result, memory_size);
| 0 | ||||||||||||||||||||||||||||||
135 | ((void *)0)
| 0 | ||||||||||||||||||||||||||||||
136 | ) goto never executed: out_of_memory;goto out_of_memory; never executed: if (result == resultbufgoto out_of_memory;
never executed: result = memory; }memcpy (memory, result, length); never executed: ;end of block | 0 | ||||||||||||||||||||||||||||||
137 | - | |||||||||||||||||||||||||||||||
138 | - | |||||||||||||||||||||||||||||||
139 | - | |||||||||||||||||||||||||||||||
140 | if (sizeof (char) == sizeof (char)
| 0 | ||||||||||||||||||||||||||||||
141 | { | - | ||||||||||||||||||||||||||||||
142 | memcpy (result + length, (const char *) cp, n); | - | ||||||||||||||||||||||||||||||
143 | length = augmented_length; | - | ||||||||||||||||||||||||||||||
144 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
145 | else | - | ||||||||||||||||||||||||||||||
146 | { | - | ||||||||||||||||||||||||||||||
147 | do | - | ||||||||||||||||||||||||||||||
148 | result[length++] = *cp++; never executed: result[length++] = *cp++; | 0 | ||||||||||||||||||||||||||||||
149 | while (--
| 0 | ||||||||||||||||||||||||||||||
150 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
151 | } | - | ||||||||||||||||||||||||||||||
152 | if (i == d.count
| 0 | ||||||||||||||||||||||||||||||
153 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||
154 | - | |||||||||||||||||||||||||||||||
155 | - | |||||||||||||||||||||||||||||||
156 | if (dp->conversion == '%'
| 0 | ||||||||||||||||||||||||||||||
157 | { | - | ||||||||||||||||||||||||||||||
158 | size_t augmented_length; | - | ||||||||||||||||||||||||||||||
159 | - | |||||||||||||||||||||||||||||||
160 | if (!(dp->arg_index == (~(size_t)0))
| 0 | ||||||||||||||||||||||||||||||
161 | abort (); never executed: abort (); | 0 | ||||||||||||||||||||||||||||||
162 | augmented_length = xsum (length, 1); | - | ||||||||||||||||||||||||||||||
163 | if ((
| 0 | ||||||||||||||||||||||||||||||
164 | (18446744073709551615UL)
| 0 | ||||||||||||||||||||||||||||||
165 | / (2)
| 0 | ||||||||||||||||||||||||||||||
166 | (18446744073709551615UL) | - | ||||||||||||||||||||||||||||||
167 | ) : 12); if ((
never executed: memory_size = ((allocated = (augmented_length);
| 0 | ||||||||||||||||||||||||||||||
168 | (18446744073709551615UL)
| 0 | ||||||||||||||||||||||||||||||
169 | / (sizeof (char))
| 0 | ||||||||||||||||||||||||||||||
170 | (18446744073709551615UL) | - | ||||||||||||||||||||||||||||||
171 | ); if (((
| 0 | ||||||||||||||||||||||||||||||
172 | (18446744073709551615UL)
| 0 | ||||||||||||||||||||||||||||||
173 | )
never executed: out_of_memory;goto out_of_memory; never executed: if (result == resultbufgoto out_of_memory;
| 0 | ||||||||||||||||||||||||||||||
174 | ((void *)0)
| 0 | ||||||||||||||||||||||||||||||
175 | ) memory = (char *) malloc (memory_size); never executed: else memory = (char *) realloc (result, memory_size);memory = (char *) malloc (memory_size); never executed: if (memory == memory = (char *) realloc (result, memory_size);
| 0 | ||||||||||||||||||||||||||||||
176 | ((void *)0)
| 0 | ||||||||||||||||||||||||||||||
177 | ) goto never executed: out_of_memory;goto out_of_memory; never executed: if (result == resultbufgoto out_of_memory;
never executed: result = memory; }memcpy (memory, result, length); never executed: ;end of block | 0 | ||||||||||||||||||||||||||||||
178 | result[length] = '%'; | - | ||||||||||||||||||||||||||||||
179 | length = augmented_length; | - | ||||||||||||||||||||||||||||||
180 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
181 | else | - | ||||||||||||||||||||||||||||||
182 | { | - | ||||||||||||||||||||||||||||||
183 | if (!(dp->arg_index != (~(size_t)0))
| 0 | ||||||||||||||||||||||||||||||
184 | abort (); never executed: abort (); | 0 | ||||||||||||||||||||||||||||||
185 | - | |||||||||||||||||||||||||||||||
186 | if (dp->conversion == 'n'
| 0 | ||||||||||||||||||||||||||||||
187 | { | - | ||||||||||||||||||||||||||||||
188 | switch (a.arg[dp->arg_index].type) | - | ||||||||||||||||||||||||||||||
189 | { | - | ||||||||||||||||||||||||||||||
190 | case never executed: TYPE_COUNT_SCHAR_POINTER:case TYPE_COUNT_SCHAR_POINTER: never executed: case TYPE_COUNT_SCHAR_POINTER: | 0 | ||||||||||||||||||||||||||||||
191 | *a.arg[dp->arg_index].a.a_count_schar_pointer = length; | - | ||||||||||||||||||||||||||||||
192 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||
193 | case never executed: TYPE_COUNT_SHORT_POINTER:case TYPE_COUNT_SHORT_POINTER: never executed: case TYPE_COUNT_SHORT_POINTER: | 0 | ||||||||||||||||||||||||||||||
194 | *a.arg[dp->arg_index].a.a_count_short_pointer = length; | - | ||||||||||||||||||||||||||||||
195 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||
196 | case never executed: TYPE_COUNT_INT_POINTER:case TYPE_COUNT_INT_POINTER: never executed: case TYPE_COUNT_INT_POINTER: | 0 | ||||||||||||||||||||||||||||||
197 | *a.arg[dp->arg_index].a.a_count_int_pointer = length; | - | ||||||||||||||||||||||||||||||
198 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||
199 | case never executed: TYPE_COUNT_LONGINT_POINTER:case TYPE_COUNT_LONGINT_POINTER: never executed: case TYPE_COUNT_LONGINT_POINTER: | 0 | ||||||||||||||||||||||||||||||
200 | *a.arg[dp->arg_index].a.a_count_longint_pointer = length; | - | ||||||||||||||||||||||||||||||
201 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||
202 | - | |||||||||||||||||||||||||||||||
203 | case never executed: TYPE_COUNT_LONGLONGINT_POINTER:case TYPE_COUNT_LONGLONGINT_POINTER: never executed: case TYPE_COUNT_LONGLONGINT_POINTER: | 0 | ||||||||||||||||||||||||||||||
204 | *a.arg[dp->arg_index].a.a_count_longlongint_pointer = length; | - | ||||||||||||||||||||||||||||||
205 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||
206 | - | |||||||||||||||||||||||||||||||
207 | default never executed: :default: never executed: default: | 0 | ||||||||||||||||||||||||||||||
208 | abort (); never executed: abort (); | 0 | ||||||||||||||||||||||||||||||
209 | } | - | ||||||||||||||||||||||||||||||
210 | } | - | ||||||||||||||||||||||||||||||
211 | else | - | ||||||||||||||||||||||||||||||
212 | { | - | ||||||||||||||||||||||||||||||
213 | arg_type type = a.arg[dp->arg_index].type; | - | ||||||||||||||||||||||||||||||
214 | int flags = dp->flags; | - | ||||||||||||||||||||||||||||||
215 | char *fbp; | - | ||||||||||||||||||||||||||||||
216 | unsigned int prefix_count; | - | ||||||||||||||||||||||||||||||
217 | int prefixes[2] ; | - | ||||||||||||||||||||||||||||||
218 | int orig_errno; | - | ||||||||||||||||||||||||||||||
219 | fbp = buf; | - | ||||||||||||||||||||||||||||||
220 | *fbp++ = '%'; | - | ||||||||||||||||||||||||||||||
221 | - | |||||||||||||||||||||||||||||||
222 | - | |||||||||||||||||||||||||||||||
223 | - | |||||||||||||||||||||||||||||||
224 | - | |||||||||||||||||||||||||||||||
225 | - | |||||||||||||||||||||||||||||||
226 | if (flags & 1
| 0 | ||||||||||||||||||||||||||||||
227 | * never executed: fbp++ = '\'';*fbp++ = '\''; never executed: *fbp++ = '\''; | 0 | ||||||||||||||||||||||||||||||
228 | - | |||||||||||||||||||||||||||||||
229 | if (flags & 2
| 0 | ||||||||||||||||||||||||||||||
230 | * never executed: fbp++ = '-';*fbp++ = '-'; never executed: *fbp++ = '-'; | 0 | ||||||||||||||||||||||||||||||
231 | if (flags & 4
| 0 | ||||||||||||||||||||||||||||||
232 | * never executed: fbp++ = '+';*fbp++ = '+'; never executed: *fbp++ = '+'; | 0 | ||||||||||||||||||||||||||||||
233 | if (flags & 8
| 0 | ||||||||||||||||||||||||||||||
234 | * never executed: fbp++ = ' ';*fbp++ = ' '; never executed: *fbp++ = ' '; | 0 | ||||||||||||||||||||||||||||||
235 | if (flags & 16
| 0 | ||||||||||||||||||||||||||||||
236 | * never executed: fbp++ = '#';*fbp++ = '#'; never executed: *fbp++ = '#'; | 0 | ||||||||||||||||||||||||||||||
237 | - | |||||||||||||||||||||||||||||||
238 | if (flags & 64
| 0 | ||||||||||||||||||||||||||||||
239 | * never executed: fbp++ = 'I';*fbp++ = 'I'; never executed: *fbp++ = 'I'; | 0 | ||||||||||||||||||||||||||||||
240 | - | |||||||||||||||||||||||||||||||
241 | if (!0
| 0 | ||||||||||||||||||||||||||||||
242 | { | - | ||||||||||||||||||||||||||||||
243 | if (flags & 32
| 0 | ||||||||||||||||||||||||||||||
244 | * never executed: fbp++ = '0';*fbp++ = '0'; never executed: *fbp++ = '0'; | 0 | ||||||||||||||||||||||||||||||
245 | if (dp->width_start != dp->width_end
| 0 | ||||||||||||||||||||||||||||||
246 | { | - | ||||||||||||||||||||||||||||||
247 | size_t n = dp->width_end - dp->width_start; | - | ||||||||||||||||||||||||||||||
248 | - | |||||||||||||||||||||||||||||||
249 | - | |||||||||||||||||||||||||||||||
250 | if (sizeof (char) == sizeof (char)
| 0 | ||||||||||||||||||||||||||||||
251 | { | - | ||||||||||||||||||||||||||||||
252 | memcpy (fbp, dp->width_start, n * sizeof (char)); | - | ||||||||||||||||||||||||||||||
253 | fbp += n; | - | ||||||||||||||||||||||||||||||
254 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
255 | else | - | ||||||||||||||||||||||||||||||
256 | { | - | ||||||||||||||||||||||||||||||
257 | const char *mp = dp->width_start; | - | ||||||||||||||||||||||||||||||
258 | do | - | ||||||||||||||||||||||||||||||
259 | * never executed: fbp++ = *mp++;*fbp++ = *mp++; never executed: *fbp++ = *mp++; | 0 | ||||||||||||||||||||||||||||||
260 | while (--
| 0 | ||||||||||||||||||||||||||||||
261 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
262 | } | - | ||||||||||||||||||||||||||||||
263 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
264 | if (!0
| 0 | ||||||||||||||||||||||||||||||
265 | { | - | ||||||||||||||||||||||||||||||
266 | if (dp->precision_start != dp->precision_end
| 0 | ||||||||||||||||||||||||||||||
267 | { | - | ||||||||||||||||||||||||||||||
268 | size_t n = dp->precision_end - dp->precision_start; | - | ||||||||||||||||||||||||||||||
269 | - | |||||||||||||||||||||||||||||||
270 | - | |||||||||||||||||||||||||||||||
271 | if (sizeof (char) == sizeof (char)
| 0 | ||||||||||||||||||||||||||||||
272 | { | - | ||||||||||||||||||||||||||||||
273 | memcpy (fbp, dp->precision_start, n * sizeof (char)); | - | ||||||||||||||||||||||||||||||
274 | fbp += n; | - | ||||||||||||||||||||||||||||||
275 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
276 | else | - | ||||||||||||||||||||||||||||||
277 | { | - | ||||||||||||||||||||||||||||||
278 | const char *mp = dp->precision_start; | - | ||||||||||||||||||||||||||||||
279 | do | - | ||||||||||||||||||||||||||||||
280 | * never executed: fbp++ = *mp++;*fbp++ = *mp++; never executed: *fbp++ = *mp++; | 0 | ||||||||||||||||||||||||||||||
281 | while (--
| 0 | ||||||||||||||||||||||||||||||
282 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
283 | } | - | ||||||||||||||||||||||||||||||
284 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
285 | - | |||||||||||||||||||||||||||||||
286 | switch (type) | - | ||||||||||||||||||||||||||||||
287 | { | - | ||||||||||||||||||||||||||||||
288 | - | |||||||||||||||||||||||||||||||
289 | case never executed: TYPE_LONGLONGINT:case TYPE_LONGLONGINT: never executed: case TYPE_LONGLONGINT: | 0 | ||||||||||||||||||||||||||||||
290 | case never executed: TYPE_ULONGLONGINT:case TYPE_ULONGLONGINT: never executed: case TYPE_ULONGLONGINT: | 0 | ||||||||||||||||||||||||||||||
291 | - | |||||||||||||||||||||||||||||||
292 | - | |||||||||||||||||||||||||||||||
293 | - | |||||||||||||||||||||||||||||||
294 | - | |||||||||||||||||||||||||||||||
295 | - | |||||||||||||||||||||||||||||||
296 | - | |||||||||||||||||||||||||||||||
297 | *fbp++ = 'l'; | - | ||||||||||||||||||||||||||||||
298 | - | |||||||||||||||||||||||||||||||
299 | - | |||||||||||||||||||||||||||||||
300 | ((void) 0); | - | ||||||||||||||||||||||||||||||
301 | case never executed: TYPE_LONGINT:case TYPE_LONGINT: never executed: case TYPE_LONGINT: code before this statement never executed: case TYPE_LONGINT: | 0 | ||||||||||||||||||||||||||||||
302 | case never executed: TYPE_ULONGINT:case TYPE_ULONGINT: never executed: case TYPE_ULONGINT: | 0 | ||||||||||||||||||||||||||||||
303 | - | |||||||||||||||||||||||||||||||
304 | case never executed: TYPE_WIDE_CHAR:case TYPE_WIDE_CHAR: never executed: case TYPE_WIDE_CHAR: | 0 | ||||||||||||||||||||||||||||||
305 | - | |||||||||||||||||||||||||||||||
306 | - | |||||||||||||||||||||||||||||||
307 | case never executed: TYPE_WIDE_STRING:case TYPE_WIDE_STRING: never executed: case TYPE_WIDE_STRING: | 0 | ||||||||||||||||||||||||||||||
308 | - | |||||||||||||||||||||||||||||||
309 | *fbp++ = 'l'; | - | ||||||||||||||||||||||||||||||
310 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||
311 | case never executed: TYPE_LONGDOUBLE:case TYPE_LONGDOUBLE: never executed: case TYPE_LONGDOUBLE: | 0 | ||||||||||||||||||||||||||||||
312 | *fbp++ = 'L'; | - | ||||||||||||||||||||||||||||||
313 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||
314 | default never executed: :default: never executed: default: | 0 | ||||||||||||||||||||||||||||||
315 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||
316 | } | - | ||||||||||||||||||||||||||||||
317 | - | |||||||||||||||||||||||||||||||
318 | - | |||||||||||||||||||||||||||||||
319 | - | |||||||||||||||||||||||||||||||
320 | - | |||||||||||||||||||||||||||||||
321 | - | |||||||||||||||||||||||||||||||
322 | *fbp = dp->conversion; | - | ||||||||||||||||||||||||||||||
323 | fbp[1] = '\0'; | - | ||||||||||||||||||||||||||||||
324 | - | |||||||||||||||||||||||||||||||
325 | - | |||||||||||||||||||||||||||||||
326 | - | |||||||||||||||||||||||||||||||
327 | - | |||||||||||||||||||||||||||||||
328 | - | |||||||||||||||||||||||||||||||
329 | - | |||||||||||||||||||||||||||||||
330 | prefix_count = 0; | - | ||||||||||||||||||||||||||||||
331 | if (!0 && dp->width_arg_index != (~(size_t)0)
| 0 | ||||||||||||||||||||||||||||||
332 | { | - | ||||||||||||||||||||||||||||||
333 | if (!(a.arg[dp->width_arg_index].type == TYPE_INT)
| 0 | ||||||||||||||||||||||||||||||
334 | abort (); never executed: abort (); | 0 | ||||||||||||||||||||||||||||||
335 | prefixes[prefix_count++] = a.arg[dp->width_arg_index].a.a_int; | - | ||||||||||||||||||||||||||||||
336 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
337 | if (!0 && dp->precision_arg_index != (~(size_t)0)
| 0 | ||||||||||||||||||||||||||||||
338 | { | - | ||||||||||||||||||||||||||||||
339 | if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)
| 0 | ||||||||||||||||||||||||||||||
340 | abort (); never executed: abort (); | 0 | ||||||||||||||||||||||||||||||
341 | prefixes[prefix_count++] = a.arg[dp->precision_arg_index].a.a_int; | - | ||||||||||||||||||||||||||||||
342 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
343 | if ((
| 0 | ||||||||||||||||||||||||||||||
344 | (18446744073709551615UL)
| 0 | ||||||||||||||||||||||||||||||
345 | / (2)
| 0 | ||||||||||||||||||||||||||||||
346 | (18446744073709551615UL) | - | ||||||||||||||||||||||||||||||
347 | ) : 12); if ((
never executed: memory_size = ((allocated = (xsum (length, (2 + (sizeof (char) / sizeof (char)) - 1) / (sizeof (char) / sizeof (char))));
| 0 | ||||||||||||||||||||||||||||||
348 | (18446744073709551615UL)
| 0 | ||||||||||||||||||||||||||||||
349 | / (sizeof (char))
| 0 | ||||||||||||||||||||||||||||||
350 | (18446744073709551615UL) | - | ||||||||||||||||||||||||||||||
351 | ); if (((
| 0 | ||||||||||||||||||||||||||||||
352 | (18446744073709551615UL)
| 0 | ||||||||||||||||||||||||||||||
353 | )
never executed: out_of_memory;goto out_of_memory; never executed: if (result == resultbufgoto out_of_memory;
| 0 | ||||||||||||||||||||||||||||||
354 | ((void *)0)
| 0 | ||||||||||||||||||||||||||||||
355 | ) memory = (char *) malloc (memory_size); never executed: else memory = (char *) realloc (result, memory_size);memory = (char *) malloc (memory_size); never executed: if (memory == memory = (char *) realloc (result, memory_size);
| 0 | ||||||||||||||||||||||||||||||
356 | ((void *)0)
| 0 | ||||||||||||||||||||||||||||||
357 | ) goto never executed: out_of_memory;goto out_of_memory; never executed: if (result == resultbufgoto out_of_memory;
never executed: result = memory; }memcpy (memory, result, length); never executed: end of block | 0 | ||||||||||||||||||||||||||||||
358 | - | |||||||||||||||||||||||||||||||
359 | ; | - | ||||||||||||||||||||||||||||||
360 | - | |||||||||||||||||||||||||||||||
361 | - | |||||||||||||||||||||||||||||||
362 | *(char *) (result + length) = '\0'; | - | ||||||||||||||||||||||||||||||
363 | - | |||||||||||||||||||||||||||||||
364 | - | |||||||||||||||||||||||||||||||
365 | orig_errno = | - | ||||||||||||||||||||||||||||||
366 | (*__errno_location ()) | - | ||||||||||||||||||||||||||||||
367 | ; | - | ||||||||||||||||||||||||||||||
368 | - | |||||||||||||||||||||||||||||||
369 | for (;;) | - | ||||||||||||||||||||||||||||||
370 | { | - | ||||||||||||||||||||||||||||||
371 | int count = -1; | - | ||||||||||||||||||||||||||||||
372 | - | |||||||||||||||||||||||||||||||
373 | - | |||||||||||||||||||||||||||||||
374 | int retcount = 0; | - | ||||||||||||||||||||||||||||||
375 | size_t maxlen = allocated - length; | - | ||||||||||||||||||||||||||||||
376 | - | |||||||||||||||||||||||||||||||
377 | - | |||||||||||||||||||||||||||||||
378 | if (maxlen > 0x7fffffff / (sizeof (char) / sizeof (char))
| 0 | ||||||||||||||||||||||||||||||
379 | maxlen = 0x7fffffff / (sizeof (char) / sizeof (char)); never executed: maxlen = 0x7fffffff / (sizeof (char) / sizeof (char)); | 0 | ||||||||||||||||||||||||||||||
380 | maxlen = maxlen * (sizeof (char) / sizeof (char)); | - | ||||||||||||||||||||||||||||||
381 | - | |||||||||||||||||||||||||||||||
382 | (*__errno_location ()) | - | ||||||||||||||||||||||||||||||
383 | = 0; | - | ||||||||||||||||||||||||||||||
384 | switch (type) | - | ||||||||||||||||||||||||||||||
385 | { | - | ||||||||||||||||||||||||||||||
386 | case never executed: TYPE_SCHAR:case TYPE_SCHAR: never executed: case TYPE_SCHAR: | 0 | ||||||||||||||||||||||||||||||
387 | { | - | ||||||||||||||||||||||||||||||
388 | int arg = a.arg[dp->arg_index].a.a_schar; | - | ||||||||||||||||||||||||||||||
389 | switch (prefix_count) { case never executed: 0:case 0: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, arg, &count); break;case 0: never executed: casebreak; never executed: 1:case 1: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, prefixes[0], arg, &count); break;case 1: never executed: casebreak; never executed: 2:case 2: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, prefixes[0], prefixes[1], arg, &count); break;case 2: never executed: defaultbreak; never executed: :default: never executed: abort ();default: never executed: };abort (); | 0 | ||||||||||||||||||||||||||||||
390 | } | - | ||||||||||||||||||||||||||||||
391 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||
392 | case never executed: TYPE_UCHAR:case TYPE_UCHAR: never executed: case TYPE_UCHAR: | 0 | ||||||||||||||||||||||||||||||
393 | { | - | ||||||||||||||||||||||||||||||
394 | unsigned int arg = a.arg[dp->arg_index].a.a_uchar; | - | ||||||||||||||||||||||||||||||
395 | switch (prefix_count) { case never executed: 0:case 0: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, arg, &count); break;case 0: never executed: casebreak; never executed: 1:case 1: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, prefixes[0], arg, &count); break;case 1: never executed: casebreak; never executed: 2:case 2: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, prefixes[0], prefixes[1], arg, &count); break;case 2: never executed: defaultbreak; never executed: :default: never executed: abort ();default: never executed: };abort (); | 0 | ||||||||||||||||||||||||||||||
396 | } | - | ||||||||||||||||||||||||||||||
397 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||
398 | case never executed: TYPE_SHORT:case TYPE_SHORT: never executed: case TYPE_SHORT: | 0 | ||||||||||||||||||||||||||||||
399 | { | - | ||||||||||||||||||||||||||||||
400 | int arg = a.arg[dp->arg_index].a.a_short; | - | ||||||||||||||||||||||||||||||
401 | switch (prefix_count) { case never executed: 0:case 0: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, arg, &count); break;case 0: never executed: casebreak; never executed: 1:case 1: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, prefixes[0], arg, &count); break;case 1: never executed: casebreak; never executed: 2:case 2: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, prefixes[0], prefixes[1], arg, &count); break;case 2: never executed: defaultbreak; never executed: :default: never executed: abort ();default: never executed: };abort (); | 0 | ||||||||||||||||||||||||||||||
402 | } | - | ||||||||||||||||||||||||||||||
403 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||
404 | case never executed: TYPE_USHORT:case TYPE_USHORT: never executed: case TYPE_USHORT: | 0 | ||||||||||||||||||||||||||||||
405 | { | - | ||||||||||||||||||||||||||||||
406 | unsigned int arg = a.arg[dp->arg_index].a.a_ushort; | - | ||||||||||||||||||||||||||||||
407 | switch (prefix_count) { case never executed: 0:case 0: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, arg, &count); break;case 0: never executed: casebreak; never executed: 1:case 1: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, prefixes[0], arg, &count); break;case 1: never executed: casebreak; never executed: 2:case 2: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, prefixes[0], prefixes[1], arg, &count); break;case 2: never executed: defaultbreak; never executed: :default: never executed: abort ();default: never executed: };abort (); | 0 | ||||||||||||||||||||||||||||||
408 | } | - | ||||||||||||||||||||||||||||||
409 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||
410 | case never executed: TYPE_INT:case TYPE_INT: never executed: case TYPE_INT: | 0 | ||||||||||||||||||||||||||||||
411 | { | - | ||||||||||||||||||||||||||||||
412 | int arg = a.arg[dp->arg_index].a.a_int; | - | ||||||||||||||||||||||||||||||
413 | switch (prefix_count) { case never executed: 0:case 0: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, arg, &count); break;case 0: never executed: casebreak; never executed: 1:case 1: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, prefixes[0], arg, &count); break;case 1: never executed: casebreak; never executed: 2:case 2: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, prefixes[0], prefixes[1], arg, &count); break;case 2: never executed: defaultbreak; never executed: :default: never executed: abort ();default: never executed: };abort (); | 0 | ||||||||||||||||||||||||||||||
414 | } | - | ||||||||||||||||||||||||||||||
415 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||
416 | case never executed: TYPE_UINT:case TYPE_UINT: never executed: case TYPE_UINT: | 0 | ||||||||||||||||||||||||||||||
417 | { | - | ||||||||||||||||||||||||||||||
418 | unsigned int arg = a.arg[dp->arg_index].a.a_uint; | - | ||||||||||||||||||||||||||||||
419 | switch (prefix_count) { case never executed: 0:case 0: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, arg, &count); break;case 0: never executed: casebreak; never executed: 1:case 1: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, prefixes[0], arg, &count); break;case 1: never executed: casebreak; never executed: 2:case 2: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, prefixes[0], prefixes[1], arg, &count); break;case 2: never executed: defaultbreak; never executed: :default: never executed: abort ();default: never executed: };abort (); | 0 | ||||||||||||||||||||||||||||||
420 | } | - | ||||||||||||||||||||||||||||||
421 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||
422 | case never executed: TYPE_LONGINT:case TYPE_LONGINT: never executed: case TYPE_LONGINT: | 0 | ||||||||||||||||||||||||||||||
423 | { | - | ||||||||||||||||||||||||||||||
424 | long int arg = a.arg[dp->arg_index].a.a_longint; | - | ||||||||||||||||||||||||||||||
425 | switch (prefix_count) { case never executed: 0:case 0: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, arg, &count); break;case 0: never executed: casebreak; never executed: 1:case 1: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, prefixes[0], arg, &count); break;case 1: never executed: casebreak; never executed: 2:case 2: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, prefixes[0], prefixes[1], arg, &count); break;case 2: never executed: defaultbreak; never executed: :default: never executed: abort ();default: never executed: };abort (); | 0 | ||||||||||||||||||||||||||||||
426 | } | - | ||||||||||||||||||||||||||||||
427 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||
428 | case never executed: TYPE_ULONGINT:case TYPE_ULONGINT: never executed: case TYPE_ULONGINT: | 0 | ||||||||||||||||||||||||||||||
429 | { | - | ||||||||||||||||||||||||||||||
430 | unsigned long int arg = a.arg[dp->arg_index].a.a_ulongint; | - | ||||||||||||||||||||||||||||||
431 | switch (prefix_count) { case never executed: 0:case 0: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, arg, &count); break;case 0: never executed: casebreak; never executed: 1:case 1: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, prefixes[0], arg, &count); break;case 1: never executed: casebreak; never executed: 2:case 2: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, prefixes[0], prefixes[1], arg, &count); break;case 2: never executed: defaultbreak; never executed: :default: never executed: abort ();default: never executed: };abort (); | 0 | ||||||||||||||||||||||||||||||
432 | } | - | ||||||||||||||||||||||||||||||
433 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||
434 | - | |||||||||||||||||||||||||||||||
435 | case never executed: TYPE_LONGLONGINT:case TYPE_LONGLONGINT: never executed: case TYPE_LONGLONGINT: | 0 | ||||||||||||||||||||||||||||||
436 | { | - | ||||||||||||||||||||||||||||||
437 | long long int arg = a.arg[dp->arg_index].a.a_longlongint; | - | ||||||||||||||||||||||||||||||
438 | switch (prefix_count) { case never executed: 0:case 0: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, arg, &count); break;case 0: never executed: casebreak; never executed: 1:case 1: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, prefixes[0], arg, &count); break;case 1: never executed: casebreak; never executed: 2:case 2: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, prefixes[0], prefixes[1], arg, &count); break;case 2: never executed: defaultbreak; never executed: :default: never executed: abort ();default: never executed: };abort (); | 0 | ||||||||||||||||||||||||||||||
439 | } | - | ||||||||||||||||||||||||||||||
440 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||
441 | case never executed: TYPE_ULONGLONGINT:case TYPE_ULONGLONGINT: never executed: case TYPE_ULONGLONGINT: | 0 | ||||||||||||||||||||||||||||||
442 | { | - | ||||||||||||||||||||||||||||||
443 | unsigned long long int arg = a.arg[dp->arg_index].a.a_ulonglongint; | - | ||||||||||||||||||||||||||||||
444 | switch (prefix_count) { case never executed: 0:case 0: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, arg, &count); break;case 0: never executed: casebreak; never executed: 1:case 1: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, prefixes[0], arg, &count); break;case 1: never executed: casebreak; never executed: 2:case 2: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, prefixes[0], prefixes[1], arg, &count); break;case 2: never executed: defaultbreak; never executed: :default: never executed: abort ();default: never executed: };abort (); | 0 | ||||||||||||||||||||||||||||||
445 | } | - | ||||||||||||||||||||||||||||||
446 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||
447 | - | |||||||||||||||||||||||||||||||
448 | case never executed: TYPE_DOUBLE:case TYPE_DOUBLE: never executed: case TYPE_DOUBLE: | 0 | ||||||||||||||||||||||||||||||
449 | { | - | ||||||||||||||||||||||||||||||
450 | double arg = a.arg[dp->arg_index].a.a_double; | - | ||||||||||||||||||||||||||||||
451 | switch (prefix_count) { case never executed: 0:case 0: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, arg, &count); break;case 0: never executed: casebreak; never executed: 1:case 1: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, prefixes[0], arg, &count); break;case 1: never executed: casebreak; never executed: 2:case 2: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, prefixes[0], prefixes[1], arg, &count); break;case 2: never executed: defaultbreak; never executed: :default: never executed: abort ();default: never executed: };abort (); | 0 | ||||||||||||||||||||||||||||||
452 | } | - | ||||||||||||||||||||||||||||||
453 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||
454 | case never executed: TYPE_LONGDOUBLE:case TYPE_LONGDOUBLE: never executed: case TYPE_LONGDOUBLE: | 0 | ||||||||||||||||||||||||||||||
455 | { | - | ||||||||||||||||||||||||||||||
456 | long double arg = a.arg[dp->arg_index].a.a_longdouble; | - | ||||||||||||||||||||||||||||||
457 | switch (prefix_count) { case never executed: 0:case 0: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, arg, &count); break;case 0: never executed: casebreak; never executed: 1:case 1: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, prefixes[0], arg, &count); break;case 1: never executed: casebreak; never executed: 2:case 2: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, prefixes[0], prefixes[1], arg, &count); break;case 2: never executed: defaultbreak; never executed: :default: never executed: abort ();default: never executed: };abort (); | 0 | ||||||||||||||||||||||||||||||
458 | } | - | ||||||||||||||||||||||||||||||
459 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||
460 | case never executed: TYPE_CHAR:case TYPE_CHAR: never executed: case TYPE_CHAR: | 0 | ||||||||||||||||||||||||||||||
461 | { | - | ||||||||||||||||||||||||||||||
462 | int arg = a.arg[dp->arg_index].a.a_char; | - | ||||||||||||||||||||||||||||||
463 | switch (prefix_count) { case never executed: 0:case 0: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, arg, &count); break;case 0: never executed: casebreak; never executed: 1:case 1: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, prefixes[0], arg, &count); break;case 1: never executed: casebreak; never executed: 2:case 2: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, prefixes[0], prefixes[1], arg, &count); break;case 2: never executed: defaultbreak; never executed: :default: never executed: abort ();default: never executed: };abort (); | 0 | ||||||||||||||||||||||||||||||
464 | } | - | ||||||||||||||||||||||||||||||
465 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||
466 | - | |||||||||||||||||||||||||||||||
467 | case never executed: TYPE_WIDE_CHAR:case TYPE_WIDE_CHAR: never executed: case TYPE_WIDE_CHAR: | 0 | ||||||||||||||||||||||||||||||
468 | { | - | ||||||||||||||||||||||||||||||
469 | wint_t arg = a.arg[dp->arg_index].a.a_wide_char; | - | ||||||||||||||||||||||||||||||
470 | switch (prefix_count) { case never executed: 0:case 0: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, arg, &count); break;case 0: never executed: casebreak; never executed: 1:case 1: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, prefixes[0], arg, &count); break;case 1: never executed: casebreak; never executed: 2:case 2: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, prefixes[0], prefixes[1], arg, &count); break;case 2: never executed: defaultbreak; never executed: :default: never executed: abort ();default: never executed: };abort (); | 0 | ||||||||||||||||||||||||||||||
471 | } | - | ||||||||||||||||||||||||||||||
472 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||
473 | - | |||||||||||||||||||||||||||||||
474 | case never executed: TYPE_STRING:case TYPE_STRING: never executed: case TYPE_STRING: | 0 | ||||||||||||||||||||||||||||||
475 | { | - | ||||||||||||||||||||||||||||||
476 | const char *arg = a.arg[dp->arg_index].a.a_string; | - | ||||||||||||||||||||||||||||||
477 | switch (prefix_count) { case never executed: 0:case 0: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, arg, &count); break;case 0: never executed: casebreak; never executed: 1:case 1: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, prefixes[0], arg, &count); break;case 1: never executed: casebreak; never executed: 2:case 2: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, prefixes[0], prefixes[1], arg, &count); break;case 2: never executed: defaultbreak; never executed: :default: never executed: abort ();default: never executed: };abort (); | 0 | ||||||||||||||||||||||||||||||
478 | } | - | ||||||||||||||||||||||||||||||
479 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||
480 | - | |||||||||||||||||||||||||||||||
481 | case never executed: TYPE_WIDE_STRING:case TYPE_WIDE_STRING: never executed: case TYPE_WIDE_STRING: | 0 | ||||||||||||||||||||||||||||||
482 | { | - | ||||||||||||||||||||||||||||||
483 | const wchar_t *arg = a.arg[dp->arg_index].a.a_wide_string; | - | ||||||||||||||||||||||||||||||
484 | switch (prefix_count) { case never executed: 0:case 0: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, arg, &count); break;case 0: never executed: casebreak; never executed: 1:case 1: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, prefixes[0], arg, &count); break;case 1: never executed: casebreak; never executed: 2:case 2: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, prefixes[0], prefixes[1], arg, &count); break;case 2: never executed: defaultbreak; never executed: :default: never executed: abort ();default: never executed: };abort (); | 0 | ||||||||||||||||||||||||||||||
485 | } | - | ||||||||||||||||||||||||||||||
486 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||
487 | - | |||||||||||||||||||||||||||||||
488 | case never executed: TYPE_POINTER:case TYPE_POINTER: never executed: case TYPE_POINTER: | 0 | ||||||||||||||||||||||||||||||
489 | { | - | ||||||||||||||||||||||||||||||
490 | void *arg = a.arg[dp->arg_index].a.a_pointer; | - | ||||||||||||||||||||||||||||||
491 | switch (prefix_count) { case never executed: 0:case 0: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, arg, &count); break;case 0: never executed: casebreak; never executed: 1:case 1: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, prefixes[0], arg, &count); break;case 1: never executed: casebreak; never executed: 2:case 2: never executed: retcount = snprintf ((char *) (result + length), maxlen, buf, prefixes[0], prefixes[1], arg, &count); break;case 2: never executed: defaultbreak; never executed: :default: never executed: abort ();default: never executed: };abort (); | 0 | ||||||||||||||||||||||||||||||
492 | } | - | ||||||||||||||||||||||||||||||
493 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||
494 | default never executed: :default: never executed: default: | 0 | ||||||||||||||||||||||||||||||
495 | abort (); never executed: abort (); | 0 | ||||||||||||||||||||||||||||||
496 | } | - | ||||||||||||||||||||||||||||||
497 | - | |||||||||||||||||||||||||||||||
498 | - | |||||||||||||||||||||||||||||||
499 | - | |||||||||||||||||||||||||||||||
500 | - | |||||||||||||||||||||||||||||||
501 | - | |||||||||||||||||||||||||||||||
502 | - | |||||||||||||||||||||||||||||||
503 | if (count >= 0
| 0 | ||||||||||||||||||||||||||||||
504 | { | - | ||||||||||||||||||||||||||||||
505 | - | |||||||||||||||||||||||||||||||
506 | - | |||||||||||||||||||||||||||||||
507 | if (count < maxlen
| 0 | ||||||||||||||||||||||||||||||
508 | && ((
| 0 | ||||||||||||||||||||||||||||||
509 | abort (); never executed: abort (); | 0 | ||||||||||||||||||||||||||||||
510 | - | |||||||||||||||||||||||||||||||
511 | if (retcount > count
| 0 | ||||||||||||||||||||||||||||||
512 | count = retcount; never executed: count = retcount; | 0 | ||||||||||||||||||||||||||||||
513 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
514 | else | - | ||||||||||||||||||||||||||||||
515 | { | - | ||||||||||||||||||||||||||||||
516 | - | |||||||||||||||||||||||||||||||
517 | - | |||||||||||||||||||||||||||||||
518 | if (fbp[1] != '\0'
| 0 | ||||||||||||||||||||||||||||||
519 | { | - | ||||||||||||||||||||||||||||||
520 | - | |||||||||||||||||||||||||||||||
521 | - | |||||||||||||||||||||||||||||||
522 | fbp[1] = '\0'; | - | ||||||||||||||||||||||||||||||
523 | continue; never executed: continue; | 0 | ||||||||||||||||||||||||||||||
524 | } | - | ||||||||||||||||||||||||||||||
525 | else | - | ||||||||||||||||||||||||||||||
526 | { | - | ||||||||||||||||||||||||||||||
527 | - | |||||||||||||||||||||||||||||||
528 | if (retcount < 0
| 0 | ||||||||||||||||||||||||||||||
529 | { | - | ||||||||||||||||||||||||||||||
530 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
531 | else | - | ||||||||||||||||||||||||||||||
532 | count = retcount; never executed: count = retcount; | 0 | ||||||||||||||||||||||||||||||
533 | } | - | ||||||||||||||||||||||||||||||
534 | } | - | ||||||||||||||||||||||||||||||
535 | - | |||||||||||||||||||||||||||||||
536 | - | |||||||||||||||||||||||||||||||
537 | - | |||||||||||||||||||||||||||||||
538 | if (count < 0
| 0 | ||||||||||||||||||||||||||||||
539 | { | - | ||||||||||||||||||||||||||||||
540 | - | |||||||||||||||||||||||||||||||
541 | - | |||||||||||||||||||||||||||||||
542 | int saved_errno = | - | ||||||||||||||||||||||||||||||
543 | (*__errno_location ()) | - | ||||||||||||||||||||||||||||||
544 | ; | - | ||||||||||||||||||||||||||||||
545 | if (saved_errno == 0
| 0 | ||||||||||||||||||||||||||||||
546 | { | - | ||||||||||||||||||||||||||||||
547 | if (dp->conversion == 'c'
| 0 | ||||||||||||||||||||||||||||||
548 | saved_errno = never executed: saved_errno = 84 ; | 0 | ||||||||||||||||||||||||||||||
549 | 84 never executed: saved_errno = 84 ; | 0 | ||||||||||||||||||||||||||||||
550 | ; never executed: saved_errno = 84 ; | 0 | ||||||||||||||||||||||||||||||
551 | else | - | ||||||||||||||||||||||||||||||
552 | saved_errno = never executed: saved_errno = 22 ; | 0 | ||||||||||||||||||||||||||||||
553 | 22 never executed: saved_errno = 22 ; | 0 | ||||||||||||||||||||||||||||||
554 | ; never executed: saved_errno = 22 ; | 0 | ||||||||||||||||||||||||||||||
555 | } | - | ||||||||||||||||||||||||||||||
556 | - | |||||||||||||||||||||||||||||||
557 | if (!(result == resultbuf
| 0 | ||||||||||||||||||||||||||||||
558 | ((void *)0)
| 0 | ||||||||||||||||||||||||||||||
559 | )) | - | ||||||||||||||||||||||||||||||
560 | free (result); never executed: free (result); | 0 | ||||||||||||||||||||||||||||||
561 | if (buf_malloced !=
| 0 | ||||||||||||||||||||||||||||||
562 | ((void *)0)
| 0 | ||||||||||||||||||||||||||||||
563 | ) | - | ||||||||||||||||||||||||||||||
564 | free (buf_malloced); never executed: free (buf_malloced); | 0 | ||||||||||||||||||||||||||||||
565 | if (d.dir != d.direct_alloc_dir
never executed: if (a.arg != a.direct_alloc_argfree (d.dir);
never executed: ;free (a.arg); | 0 | ||||||||||||||||||||||||||||||
566 | - | |||||||||||||||||||||||||||||||
567 | - | |||||||||||||||||||||||||||||||
568 | (*__errno_location ()) | - | ||||||||||||||||||||||||||||||
569 | = saved_errno; | - | ||||||||||||||||||||||||||||||
570 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||||||||
571 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||||||||
572 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||||||||
573 | } | - | ||||||||||||||||||||||||||||||
574 | - | |||||||||||||||||||||||||||||||
575 | - | |||||||||||||||||||||||||||||||
576 | - | |||||||||||||||||||||||||||||||
577 | - | |||||||||||||||||||||||||||||||
578 | - | |||||||||||||||||||||||||||||||
579 | - | |||||||||||||||||||||||||||||||
580 | - | |||||||||||||||||||||||||||||||
581 | if ((
| 0 | ||||||||||||||||||||||||||||||
582 | { | - | ||||||||||||||||||||||||||||||
583 | - | |||||||||||||||||||||||||||||||
584 | - | |||||||||||||||||||||||||||||||
585 | - | |||||||||||||||||||||||||||||||
586 | if (maxlen == 0x7fffffff / (sizeof (char) / sizeof (char))
| 0 | ||||||||||||||||||||||||||||||
587 | goto never executed: overflow;goto overflow; never executed: goto overflow; | 0 | ||||||||||||||||||||||||||||||
588 | else | - | ||||||||||||||||||||||||||||||
589 | { | - | ||||||||||||||||||||||||||||||
590 | size_t n = | - | ||||||||||||||||||||||||||||||
591 | xmax (xsum (length, | - | ||||||||||||||||||||||||||||||
592 | ((unsigned int) count + 2 | - | ||||||||||||||||||||||||||||||
593 | + (sizeof (char) / sizeof (char)) - 1) | - | ||||||||||||||||||||||||||||||
594 | / (sizeof (char) / sizeof (char))), | - | ||||||||||||||||||||||||||||||
595 | ((allocated) <= | - | ||||||||||||||||||||||||||||||
596 | (18446744073709551615UL) | - | ||||||||||||||||||||||||||||||
597 | / (2) ? (size_t) (allocated) * (2) : | - | ||||||||||||||||||||||||||||||
598 | (18446744073709551615UL) | - | ||||||||||||||||||||||||||||||
599 | )); | - | ||||||||||||||||||||||||||||||
600 | - | |||||||||||||||||||||||||||||||
601 | if ((
| 0 | ||||||||||||||||||||||||||||||
602 | (18446744073709551615UL)
| 0 | ||||||||||||||||||||||||||||||
603 | / (2)
| 0 | ||||||||||||||||||||||||||||||
604 | (18446744073709551615UL) | - | ||||||||||||||||||||||||||||||
605 | ) : 12); if ((
never executed: memory_size = ((allocated = (n);
| 0 | ||||||||||||||||||||||||||||||
606 | (18446744073709551615UL)
| 0 | ||||||||||||||||||||||||||||||
607 | / (sizeof (char))
| 0 | ||||||||||||||||||||||||||||||
608 | (18446744073709551615UL) | - | ||||||||||||||||||||||||||||||
609 | ); if (((
| 0 | ||||||||||||||||||||||||||||||
610 | (18446744073709551615UL)
| 0 | ||||||||||||||||||||||||||||||
611 | )
never executed: out_of_memory;goto out_of_memory; never executed: if (result == resultbufgoto out_of_memory;
| 0 | ||||||||||||||||||||||||||||||
612 | ((void *)0)
| 0 | ||||||||||||||||||||||||||||||
613 | ) memory = (char *) malloc (memory_size); never executed: else memory = (char *) realloc (result, memory_size);memory = (char *) malloc (memory_size); never executed: if (memory == memory = (char *) realloc (result, memory_size);
| 0 | ||||||||||||||||||||||||||||||
614 | ((void *)0)
| 0 | ||||||||||||||||||||||||||||||
615 | ) goto never executed: out_of_memory;goto out_of_memory; never executed: if (result == resultbufgoto out_of_memory;
never executed: result = memory; }memcpy (memory, result, length); never executed: ;end of block | 0 | ||||||||||||||||||||||||||||||
616 | continue; never executed: continue; | 0 | ||||||||||||||||||||||||||||||
617 | } | - | ||||||||||||||||||||||||||||||
618 | } | - | ||||||||||||||||||||||||||||||
619 | length += count; | - | ||||||||||||||||||||||||||||||
620 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||
621 | } | - | ||||||||||||||||||||||||||||||
622 | - | |||||||||||||||||||||||||||||||
623 | (*__errno_location ()) | - | ||||||||||||||||||||||||||||||
624 | = orig_errno; | - | ||||||||||||||||||||||||||||||
625 | - | |||||||||||||||||||||||||||||||
626 | - | |||||||||||||||||||||||||||||||
627 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
628 | } | - | ||||||||||||||||||||||||||||||
629 | } | - | ||||||||||||||||||||||||||||||
630 | - | |||||||||||||||||||||||||||||||
631 | - | |||||||||||||||||||||||||||||||
632 | if ((
| 0 | ||||||||||||||||||||||||||||||
633 | (18446744073709551615UL)
| 0 | ||||||||||||||||||||||||||||||
634 | / (2)
| 0 | ||||||||||||||||||||||||||||||
635 | (18446744073709551615UL) | - | ||||||||||||||||||||||||||||||
636 | ) : 12); if ((
never executed: memory_size = ((allocated = (xsum (length, 1));
| 0 | ||||||||||||||||||||||||||||||
637 | (18446744073709551615UL)
| 0 | ||||||||||||||||||||||||||||||
638 | / (sizeof (char))
| 0 | ||||||||||||||||||||||||||||||
639 | (18446744073709551615UL) | - | ||||||||||||||||||||||||||||||
640 | ); if (((
| 0 | ||||||||||||||||||||||||||||||
641 | (18446744073709551615UL)
| 0 | ||||||||||||||||||||||||||||||
642 | )
never executed: out_of_memory;goto out_of_memory; never executed: if (result == resultbufgoto out_of_memory;
| 0 | ||||||||||||||||||||||||||||||
643 | ((void *)0)
| 0 | ||||||||||||||||||||||||||||||
644 | ) memory = (char *) malloc (memory_size); never executed: else memory = (char *) realloc (result, memory_size);memory = (char *) malloc (memory_size); never executed: if (memory == memory = (char *) realloc (result, memory_size);
| 0 | ||||||||||||||||||||||||||||||
645 | ((void *)0)
| 0 | ||||||||||||||||||||||||||||||
646 | ) goto never executed: out_of_memory;goto out_of_memory; never executed: if (result == resultbufgoto out_of_memory;
never executed: result = memory; }memcpy (memory, result, length); never executed: ;end of block | 0 | ||||||||||||||||||||||||||||||
647 | result[length] = '\0'; | - | ||||||||||||||||||||||||||||||
648 | - | |||||||||||||||||||||||||||||||
649 | if (result != resultbuf
| 0 | ||||||||||||||||||||||||||||||
650 | { | - | ||||||||||||||||||||||||||||||
651 | - | |||||||||||||||||||||||||||||||
652 | char *memory; | - | ||||||||||||||||||||||||||||||
653 | - | |||||||||||||||||||||||||||||||
654 | memory = (char *) realloc (result, (length + 1) * sizeof (char)); | - | ||||||||||||||||||||||||||||||
655 | if (memory !=
| 0 | ||||||||||||||||||||||||||||||
656 | ((void *)0)
| 0 | ||||||||||||||||||||||||||||||
657 | ) | - | ||||||||||||||||||||||||||||||
658 | result = memory; never executed: result = memory; | 0 | ||||||||||||||||||||||||||||||
659 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
660 | - | |||||||||||||||||||||||||||||||
661 | if (buf_malloced !=
| 0 | ||||||||||||||||||||||||||||||
662 | ((void *)0)
| 0 | ||||||||||||||||||||||||||||||
663 | ) | - | ||||||||||||||||||||||||||||||
664 | free (buf_malloced); never executed: free (buf_malloced); | 0 | ||||||||||||||||||||||||||||||
665 | if (d.dir != d.direct_alloc_dir
never executed: if (a.arg != a.direct_alloc_argfree (d.dir);
never executed: ;free (a.arg); | 0 | ||||||||||||||||||||||||||||||
666 | *lengthp = length; | - | ||||||||||||||||||||||||||||||
667 | - | |||||||||||||||||||||||||||||||
668 | - | |||||||||||||||||||||||||||||||
669 | - | |||||||||||||||||||||||||||||||
670 | - | |||||||||||||||||||||||||||||||
671 | return never executed: result;return result; never executed: return result; | 0 | ||||||||||||||||||||||||||||||
672 | - | |||||||||||||||||||||||||||||||
673 | - | |||||||||||||||||||||||||||||||
674 | overflow: | - | ||||||||||||||||||||||||||||||
675 | if (!(result == resultbuf
| 0 | ||||||||||||||||||||||||||||||
676 | ((void *)0)
| 0 | ||||||||||||||||||||||||||||||
677 | )) | - | ||||||||||||||||||||||||||||||
678 | free (result); never executed: free (result); | 0 | ||||||||||||||||||||||||||||||
679 | if (buf_malloced !=
| 0 | ||||||||||||||||||||||||||||||
680 | ((void *)0)
| 0 | ||||||||||||||||||||||||||||||
681 | ) | - | ||||||||||||||||||||||||||||||
682 | free (buf_malloced); never executed: free (buf_malloced); | 0 | ||||||||||||||||||||||||||||||
683 | if (d.dir != d.direct_alloc_dir
never executed: if (a.arg != a.direct_alloc_argfree (d.dir);
never executed: ;free (a.arg); | 0 | ||||||||||||||||||||||||||||||
684 | - | |||||||||||||||||||||||||||||||
685 | (*__errno_location ()) | - | ||||||||||||||||||||||||||||||
686 | = | - | ||||||||||||||||||||||||||||||
687 | 75 | - | ||||||||||||||||||||||||||||||
688 | ; | - | ||||||||||||||||||||||||||||||
689 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||||||||
690 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||||||||
691 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||||||||
692 | - | |||||||||||||||||||||||||||||||
693 | - | |||||||||||||||||||||||||||||||
694 | out_of_memory: | - | ||||||||||||||||||||||||||||||
695 | if (!(result == resultbuf
| 0 | ||||||||||||||||||||||||||||||
696 | ((void *)0)
| 0 | ||||||||||||||||||||||||||||||
697 | )) | - | ||||||||||||||||||||||||||||||
698 | free (result); never executed: free (result); | 0 | ||||||||||||||||||||||||||||||
699 | if (buf_malloced !=
| 0 | ||||||||||||||||||||||||||||||
700 | ((void *)0)
| 0 | ||||||||||||||||||||||||||||||
701 | ) | - | ||||||||||||||||||||||||||||||
702 | free (buf_malloced); never executed: free (buf_malloced); | 0 | ||||||||||||||||||||||||||||||
703 | out_of_memory_1: code before this statement never executed: out_of_memory_1: | 0 | ||||||||||||||||||||||||||||||
704 | if (d.dir != d.direct_alloc_dir
never executed: if (a.arg != a.direct_alloc_argfree (d.dir);
never executed: ;free (a.arg); | 0 | ||||||||||||||||||||||||||||||
705 | - | |||||||||||||||||||||||||||||||
706 | (*__errno_location ()) | - | ||||||||||||||||||||||||||||||
707 | = | - | ||||||||||||||||||||||||||||||
708 | 12 | - | ||||||||||||||||||||||||||||||
709 | ; | - | ||||||||||||||||||||||||||||||
710 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||||||||
711 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||||||||
712 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||||||||
713 | } | - | ||||||||||||||||||||||||||||||
714 | } | - | ||||||||||||||||||||||||||||||
Switch to Source code | Preprocessed file |