OpenCoverage

printf-parse.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/coreutils/src/lib/printf-parse.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6-
7-
8-
9-
10-
11-
12-
13-
14int-
15printf_parse (const char *format, char_directives *d, arguments *a)-
16{-
17 const char *cp = format;-
18 size_t arg_posn = 0;-
19 size_t d_allocated;-
20 size_t a_allocated;-
21 size_t max_width_length = 0;-
22 size_t max_precision_length = 0;-
23-
24 d->count = 0;-
25 d_allocated = 7;-
26 d->dir = d->direct_alloc_dir;-
27-
28 a->count = 0;-
29 a_allocated = 7;-
30 a->arg = a->direct_alloc_arg;-
31 while (*
*cp != '\0'Description
TRUEnever evaluated
FALSEnever evaluated
cp != '\0'
*cp != '\0'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
32 {-
33 char c = *cp++;-
34 if (c == '%'
c == '%'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
35 {-
36 size_t arg_index = (~(size_t)0);-
37 char_directive *dp = &d->dir[d->count];-
38-
39-
40 dp->dir_start = cp - 1;-
41 dp->flags = 0;-
42 dp->width_start = -
43 ((void *)0)-
44 ;-
45 dp->width_end = -
46 ((void *)0)-
47 ;-
48 dp->width_arg_index = (~(size_t)0);-
49 dp->precision_start = -
50 ((void *)0)-
51 ;-
52 dp->precision_end = -
53 ((void *)0)-
54 ;-
55 dp->precision_arg_index = (~(size_t)0);-
56 dp->arg_index = (~(size_t)0);-
57-
58-
59 if (*
*cp >= '0'Description
TRUEnever evaluated
FALSEnever evaluated
cp >= '0'
*cp >= '0'Description
TRUEnever evaluated
FALSEnever evaluated
&& *
*cp <= '9'Description
TRUEnever evaluated
FALSEnever evaluated
cp <= '9'
*cp <= '9'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
60 {-
61 const char *np;-
62-
63 for (np = cp; *
*np >= '0'Description
TRUEnever evaluated
FALSEnever evaluated
np >= '0'
*np >= '0'Description
TRUEnever evaluated
FALSEnever evaluated
&& *
*np <= '9'Description
TRUEnever evaluated
FALSEnever evaluated
np <= '9'
*np <= '9'Description
TRUEnever evaluated
FALSEnever evaluated
; np++)
0
64 ;
never executed: ;
0
65 if (*
*np == '$'Description
TRUEnever evaluated
FALSEnever evaluated
np == '$'
*np == '$'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
66 {-
67 size_t n = 0;-
68-
69 for (np = cp; *
*np >= '0'Description
TRUEnever evaluated
FALSEnever evaluated
np >= '0'
*np >= '0'Description
TRUEnever evaluated
FALSEnever evaluated
&& *
*np <= '9'Description
TRUEnever evaluated
FALSEnever evaluated
np <= '9'
*np <= '9'Description
TRUEnever evaluated
FALSEnever evaluated
; np++)
0
70 n = xsum (((n) <=
never executed: n = xsum (((n) <= (18446744073709551615UL) / (10) ? (size_t) (n) * (10) : (18446744073709551615UL) ), *np - '0');
0
71 (18446744073709551615UL)
never executed: n = xsum (((n) <= (18446744073709551615UL) / (10) ? (size_t) (n) * (10) : (18446744073709551615UL) ), *np - '0');
0
72 / (10) ? (size_t) (n) * (10) :
never executed: n = xsum (((n) <= (18446744073709551615UL) / (10) ? (size_t) (n) * (10) : (18446744073709551615UL) ), *np - '0');
0
73 (18446744073709551615UL)
never executed: n = xsum (((n) <= (18446744073709551615UL) / (10) ? (size_t) (n) * (10) : (18446744073709551615UL) ), *np - '0');
0
74 ), *np - '0');
never executed: n = xsum (((n) <= (18446744073709551615UL) / (10) ? (size_t) (n) * (10) : (18446744073709551615UL) ), *np - '0');
0
75 if (n == 0
n == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
76-
77 goto
never executed: goto error;
error;
never executed: goto error;
0
78 if (((
((n) == (18446...709551615UL) )Description
TRUEnever evaluated
FALSEnever evaluated
n) ==
((n) == (18446...709551615UL) )Description
TRUEnever evaluated
FALSEnever evaluated
0
79 (18446744073709551615UL)
((n) == (18446...709551615UL) )Description
TRUEnever evaluated
FALSEnever evaluated
0
80 )
((n) == (18446...709551615UL) )Description
TRUEnever evaluated
FALSEnever evaluated
)
0
81-
82 goto
never executed: goto error;
error;
never executed: goto error;
0
83 arg_index = n - 1;-
84 cp = np + 1;-
85 }
never executed: end of block
0
86 }
never executed: end of block
0
87-
88-
89 for (;;)-
90 {-
91 if (*
*cp == '\''Description
TRUEnever evaluated
FALSEnever evaluated
cp == '\''
*cp == '\''Description
TRUEnever evaluated
FALSEnever evaluated
)
0
92 {-
93 dp->flags |= 1;-
94 cp++;-
95 }
never executed: end of block
0
96 else if (*
*cp == '-'Description
TRUEnever evaluated
FALSEnever evaluated
cp == '-'
*cp == '-'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
97 {-
98 dp->flags |= 2;-
99 cp++;-
100 }
never executed: end of block
0
101 else if (*
*cp == '+'Description
TRUEnever evaluated
FALSEnever evaluated
cp == '+'
*cp == '+'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
102 {-
103 dp->flags |= 4;-
104 cp++;-
105 }
never executed: end of block
0
106 else if (*
*cp == ' 'Description
TRUEnever evaluated
FALSEnever evaluated
cp == ' '
*cp == ' 'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
107 {-
108 dp->flags |= 8;-
109 cp++;-
110 }
never executed: end of block
0
111 else if (*
*cp == '#'Description
TRUEnever evaluated
FALSEnever evaluated
cp == '#'
*cp == '#'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
112 {-
113 dp->flags |= 16;-
114 cp++;-
115 }
never executed: end of block
0
116 else if (*
*cp == '0'Description
TRUEnever evaluated
FALSEnever evaluated
cp == '0'
*cp == '0'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
117 {-
118 dp->flags |= 32;-
119 cp++;-
120 }
never executed: end of block
0
121-
122 else if (*
*cp == 'I'Description
TRUEnever evaluated
FALSEnever evaluated
cp == 'I'
*cp == 'I'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
123 {-
124 dp->flags |= 64;-
125 cp++;-
126 }
never executed: end of block
0
127-
128 else-
129 break;
never executed: break;
0
130 }-
131-
132-
133 if (*
*cp == '*'Description
TRUEnever evaluated
FALSEnever evaluated
cp == '*'
*cp == '*'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
134 {-
135 dp->width_start = cp;-
136 cp++;-
137 dp->width_end = cp;-
138 if (max_width_length < 1
max_width_length < 1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
139 max_width_length = 1;
never executed: max_width_length = 1;
0
140-
141-
142 if (*
*cp >= '0'Description
TRUEnever evaluated
FALSEnever evaluated
cp >= '0'
*cp >= '0'Description
TRUEnever evaluated
FALSEnever evaluated
&& *
*cp <= '9'Description
TRUEnever evaluated
FALSEnever evaluated
cp <= '9'
*cp <= '9'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
143 {-
144 const char *np;-
145-
146 for (np = cp; *
*np >= '0'Description
TRUEnever evaluated
FALSEnever evaluated
np >= '0'
*np >= '0'Description
TRUEnever evaluated
FALSEnever evaluated
&& *
*np <= '9'Description
TRUEnever evaluated
FALSEnever evaluated
np <= '9'
*np <= '9'Description
TRUEnever evaluated
FALSEnever evaluated
; np++)
0
147 ;
never executed: ;
0
148 if (*
*np == '$'Description
TRUEnever evaluated
FALSEnever evaluated
np == '$'
*np == '$'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
149 {-
150 size_t n = 0;-
151-
152 for (np = cp; *
*np >= '0'Description
TRUEnever evaluated
FALSEnever evaluated
np >= '0'
*np >= '0'Description
TRUEnever evaluated
FALSEnever evaluated
&& *
*np <= '9'Description
TRUEnever evaluated
FALSEnever evaluated
np <= '9'
*np <= '9'Description
TRUEnever evaluated
FALSEnever evaluated
; np++)
0
153 n = xsum (((n) <=
never executed: n = xsum (((n) <= (18446744073709551615UL) / (10) ? (size_t) (n) * (10) : (18446744073709551615UL) ), *np - '0');
0
154 (18446744073709551615UL)
never executed: n = xsum (((n) <= (18446744073709551615UL) / (10) ? (size_t) (n) * (10) : (18446744073709551615UL) ), *np - '0');
0
155 / (10) ? (size_t) (n) * (10) :
never executed: n = xsum (((n) <= (18446744073709551615UL) / (10) ? (size_t) (n) * (10) : (18446744073709551615UL) ), *np - '0');
0
156 (18446744073709551615UL)
never executed: n = xsum (((n) <= (18446744073709551615UL) / (10) ? (size_t) (n) * (10) : (18446744073709551615UL) ), *np - '0');
0
157 ), *np - '0');
never executed: n = xsum (((n) <= (18446744073709551615UL) / (10) ? (size_t) (n) * (10) : (18446744073709551615UL) ), *np - '0');
0
158 if (n == 0
n == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
159-
160 goto
never executed: goto error;
error;
never executed: goto error;
0
161 if (((
((n) == (18446...709551615UL) )Description
TRUEnever evaluated
FALSEnever evaluated
n) ==
((n) == (18446...709551615UL) )Description
TRUEnever evaluated
FALSEnever evaluated
0
162 (18446744073709551615UL)
((n) == (18446...709551615UL) )Description
TRUEnever evaluated
FALSEnever evaluated
0
163 )
((n) == (18446...709551615UL) )Description
TRUEnever evaluated
FALSEnever evaluated
)
0
164-
165 goto
never executed: goto error;
error;
never executed: goto error;
0
166 dp->width_arg_index = n - 1;-
167 cp = np + 1;-
168 }
never executed: end of block
0
169 }
never executed: end of block
0
170 if (dp->width_arg_index == (~(size_t)0)
dp->width_arg_...= (~(size_t)0)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
171 {-
172 dp->width_arg_index = arg_posn++;-
173 if (dp->width_arg_index == (~(size_t)0)
dp->width_arg_...= (~(size_t)0)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
174-
175 goto
never executed: goto error;
error;
never executed: goto error;
0
176 }
never executed: end of block
0
177 { size_t n = (dp->width_arg_index); if (n >= a_allocated
n >= a_allocatedDescription
TRUEnever evaluated
FALSEnever evaluated
) { size_t memory_size; argument *memory; a_allocated = ((
(a_allocated) ...51615UL) / (2)Description
TRUEnever evaluated
FALSEnever evaluated
a_allocated) <=
(a_allocated) ...51615UL) / (2)Description
TRUEnever evaluated
FALSEnever evaluated
0
178 (18446744073709551615UL)
(a_allocated) ...51615UL) / (2)Description
TRUEnever evaluated
FALSEnever evaluated
0
179 / (2)
(a_allocated) ...51615UL) / (2)Description
TRUEnever evaluated
FALSEnever evaluated
? (size_t) (a_allocated) * (2) :
0
180 (18446744073709551615UL)-
181 ); if (a_allocated <= n
a_allocated <= nDescription
TRUEnever evaluated
FALSEnever evaluated
) a_allocated = xsum (n, 1);
never executed: a_allocated = xsum (n, 1);
memory_size = ((
(a_allocated) ...of (argument))Description
TRUEnever evaluated
FALSEnever evaluated
a_allocated) <=
(a_allocated) ...of (argument))Description
TRUEnever evaluated
FALSEnever evaluated
0
182 (18446744073709551615UL)
(a_allocated) ...of (argument))Description
TRUEnever evaluated
FALSEnever evaluated
0
183 / (sizeof (argument))
(a_allocated) ...of (argument))Description
TRUEnever evaluated
FALSEnever evaluated
? (size_t) (a_allocated) * (sizeof (argument)) :
0
184 (18446744073709551615UL)-
185 ); if (((
((memory_size)...709551615UL) )Description
TRUEnever evaluated
FALSEnever evaluated
memory_size) ==
((memory_size)...709551615UL) )Description
TRUEnever evaluated
FALSEnever evaluated
0
186 (18446744073709551615UL)
((memory_size)...709551615UL) )Description
TRUEnever evaluated
FALSEnever evaluated
0
187 )
((memory_size)...709551615UL) )Description
TRUEnever evaluated
FALSEnever evaluated
) goto
never executed: goto out_of_memory;
out_of_memory;
never executed: goto out_of_memory;
memory = (argument *) (a->arg != a->direct_alloc_arg ? realloc (a->arg, memory_size) : malloc (memory_size)); if (memory ==
memory == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
188 ((void *)0)
memory == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
189 ) goto
never executed: goto out_of_memory;
out_of_memory;
never executed: goto out_of_memory;
if (a->arg == a->direct_alloc_arg
a->arg == a->direct_alloc_argDescription
TRUEnever evaluated
FALSEnever evaluated
) memcpy (memory, a->arg, a->count * sizeof (argument));
never executed: memcpy (memory, a->arg, a->count * sizeof (argument));
a->arg = memory; }
never executed: end of block
while (a->count <= n
a->count <= nDescription
TRUEnever evaluated
FALSEnever evaluated
) a->arg[a->count++].type = TYPE_NONE;
never executed: a->arg[a->count++].type = TYPE_NONE;
if (a->arg[n].type == TYPE_NONE
a->arg[n].type == TYPE_NONEDescription
TRUEnever evaluated
FALSEnever evaluated
) a->arg[n].type = (TYPE_INT);
never executed: a->arg[n].type = (TYPE_INT);
else if (a->arg[n].type != (TYPE_INT)
a->arg[n].type != (TYPE_INT)Description
TRUEnever evaluated
FALSEnever evaluated
) goto
never executed: goto error;
error;
never executed: goto error;
};
0
190 }
never executed: end of block
0
191 else if (*
*cp >= '0'Description
TRUEnever evaluated
FALSEnever evaluated
cp >= '0'
*cp >= '0'Description
TRUEnever evaluated
FALSEnever evaluated
&& *
*cp <= '9'Description
TRUEnever evaluated
FALSEnever evaluated
cp <= '9'
*cp <= '9'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
192 {-
193 size_t width_length;-
194-
195 dp->width_start = cp;-
196 for (; *
*cp >= '0'Description
TRUEnever evaluated
FALSEnever evaluated
cp >= '0'
*cp >= '0'Description
TRUEnever evaluated
FALSEnever evaluated
&& *
*cp <= '9'Description
TRUEnever evaluated
FALSEnever evaluated
cp <= '9'
*cp <= '9'Description
TRUEnever evaluated
FALSEnever evaluated
; cp++)
0
197 ;
never executed: ;
0
198 dp->width_end = cp;-
199 width_length = dp->width_end - dp->width_start;-
200 if (max_width_length < width_length
max_width_leng...< width_lengthDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
201 max_width_length = width_length;
never executed: max_width_length = width_length;
0
202 }
never executed: end of block
0
203-
204-
205 if (*
*cp == '.'Description
TRUEnever evaluated
FALSEnever evaluated
cp == '.'
*cp == '.'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
206 {-
207 cp++;-
208 if (*
*cp == '*'Description
TRUEnever evaluated
FALSEnever evaluated
cp == '*'
*cp == '*'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
209 {-
210 dp->precision_start = cp - 1;-
211 cp++;-
212 dp->precision_end = cp;-
213 if (max_precision_length < 2
max_precision_length < 2Description
TRUEnever evaluated
FALSEnever evaluated
)
0
214 max_precision_length = 2;
never executed: max_precision_length = 2;
0
215-
216-
217 if (*
*cp >= '0'Description
TRUEnever evaluated
FALSEnever evaluated
cp >= '0'
*cp >= '0'Description
TRUEnever evaluated
FALSEnever evaluated
&& *
*cp <= '9'Description
TRUEnever evaluated
FALSEnever evaluated
cp <= '9'
*cp <= '9'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
218 {-
219 const char *np;-
220-
221 for (np = cp; *
*np >= '0'Description
TRUEnever evaluated
FALSEnever evaluated
np >= '0'
*np >= '0'Description
TRUEnever evaluated
FALSEnever evaluated
&& *
*np <= '9'Description
TRUEnever evaluated
FALSEnever evaluated
np <= '9'
*np <= '9'Description
TRUEnever evaluated
FALSEnever evaluated
; np++)
0
222 ;
never executed: ;
0
223 if (*
*np == '$'Description
TRUEnever evaluated
FALSEnever evaluated
np == '$'
*np == '$'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
224 {-
225 size_t n = 0;-
226-
227 for (np = cp; *
*np >= '0'Description
TRUEnever evaluated
FALSEnever evaluated
np >= '0'
*np >= '0'Description
TRUEnever evaluated
FALSEnever evaluated
&& *
*np <= '9'Description
TRUEnever evaluated
FALSEnever evaluated
np <= '9'
*np <= '9'Description
TRUEnever evaluated
FALSEnever evaluated
; np++)
0
228 n = xsum (((n) <=
never executed: n = xsum (((n) <= (18446744073709551615UL) / (10) ? (size_t) (n) * (10) : (18446744073709551615UL) ), *np - '0');
0
229 (18446744073709551615UL)
never executed: n = xsum (((n) <= (18446744073709551615UL) / (10) ? (size_t) (n) * (10) : (18446744073709551615UL) ), *np - '0');
0
230 / (10) ? (size_t) (n) * (10) :
never executed: n = xsum (((n) <= (18446744073709551615UL) / (10) ? (size_t) (n) * (10) : (18446744073709551615UL) ), *np - '0');
0
231 (18446744073709551615UL)
never executed: n = xsum (((n) <= (18446744073709551615UL) / (10) ? (size_t) (n) * (10) : (18446744073709551615UL) ), *np - '0');
0
232 ), *np - '0');
never executed: n = xsum (((n) <= (18446744073709551615UL) / (10) ? (size_t) (n) * (10) : (18446744073709551615UL) ), *np - '0');
0
233 if (n == 0
n == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
234-
235 goto
never executed: goto error;
error;
never executed: goto error;
0
236 if (((
((n) == (18446...709551615UL) )Description
TRUEnever evaluated
FALSEnever evaluated
n) ==
((n) == (18446...709551615UL) )Description
TRUEnever evaluated
FALSEnever evaluated
0
237 (18446744073709551615UL)
((n) == (18446...709551615UL) )Description
TRUEnever evaluated
FALSEnever evaluated
0
238 )
((n) == (18446...709551615UL) )Description
TRUEnever evaluated
FALSEnever evaluated
)
0
239-
240-
241 goto
never executed: goto error;
error;
never executed: goto error;
0
242 dp->precision_arg_index = n - 1;-
243 cp = np + 1;-
244 }
never executed: end of block
0
245 }
never executed: end of block
0
246 if (dp->precision_arg_index == (~(size_t)0)
dp->precision_...= (~(size_t)0)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
247 {-
248 dp->precision_arg_index = arg_posn++;-
249 if (dp->precision_arg_index == (~(size_t)0)
dp->precision_...= (~(size_t)0)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
250-
251 goto
never executed: goto error;
error;
never executed: goto error;
0
252 }
never executed: end of block
0
253 { size_t n = (dp->precision_arg_index); if (n >= a_allocated
n >= a_allocatedDescription
TRUEnever evaluated
FALSEnever evaluated
) { size_t memory_size; argument *memory; a_allocated = ((
(a_allocated) ...51615UL) / (2)Description
TRUEnever evaluated
FALSEnever evaluated
a_allocated) <=
(a_allocated) ...51615UL) / (2)Description
TRUEnever evaluated
FALSEnever evaluated
0
254 (18446744073709551615UL)
(a_allocated) ...51615UL) / (2)Description
TRUEnever evaluated
FALSEnever evaluated
0
255 / (2)
(a_allocated) ...51615UL) / (2)Description
TRUEnever evaluated
FALSEnever evaluated
? (size_t) (a_allocated) * (2) :
0
256 (18446744073709551615UL)-
257 ); if (a_allocated <= n
a_allocated <= nDescription
TRUEnever evaluated
FALSEnever evaluated
) a_allocated = xsum (n, 1);
never executed: a_allocated = xsum (n, 1);
memory_size = ((
(a_allocated) ...of (argument))Description
TRUEnever evaluated
FALSEnever evaluated
a_allocated) <=
(a_allocated) ...of (argument))Description
TRUEnever evaluated
FALSEnever evaluated
0
258 (18446744073709551615UL)
(a_allocated) ...of (argument))Description
TRUEnever evaluated
FALSEnever evaluated
0
259 / (sizeof (argument))
(a_allocated) ...of (argument))Description
TRUEnever evaluated
FALSEnever evaluated
? (size_t) (a_allocated) * (sizeof (argument)) :
0
260 (18446744073709551615UL)-
261 ); if (((
((memory_size)...709551615UL) )Description
TRUEnever evaluated
FALSEnever evaluated
memory_size) ==
((memory_size)...709551615UL) )Description
TRUEnever evaluated
FALSEnever evaluated
0
262 (18446744073709551615UL)
((memory_size)...709551615UL) )Description
TRUEnever evaluated
FALSEnever evaluated
0
263 )
((memory_size)...709551615UL) )Description
TRUEnever evaluated
FALSEnever evaluated
) goto
never executed: goto out_of_memory;
out_of_memory;
never executed: goto out_of_memory;
memory = (argument *) (a->arg != a->direct_alloc_arg ? realloc (a->arg, memory_size) : malloc (memory_size)); if (memory ==
memory == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
264 ((void *)0)
memory == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
265 ) goto
never executed: goto out_of_memory;
out_of_memory;
never executed: goto out_of_memory;
if (a->arg == a->direct_alloc_arg
a->arg == a->direct_alloc_argDescription
TRUEnever evaluated
FALSEnever evaluated
) memcpy (memory, a->arg, a->count * sizeof (argument));
never executed: memcpy (memory, a->arg, a->count * sizeof (argument));
a->arg = memory; }
never executed: end of block
while (a->count <= n
a->count <= nDescription
TRUEnever evaluated
FALSEnever evaluated
) a->arg[a->count++].type = TYPE_NONE;
never executed: a->arg[a->count++].type = TYPE_NONE;
if (a->arg[n].type == TYPE_NONE
a->arg[n].type == TYPE_NONEDescription
TRUEnever evaluated
FALSEnever evaluated
) a->arg[n].type = (TYPE_INT);
never executed: a->arg[n].type = (TYPE_INT);
else if (a->arg[n].type != (TYPE_INT)
a->arg[n].type != (TYPE_INT)Description
TRUEnever evaluated
FALSEnever evaluated
) goto
never executed: goto error;
error;
never executed: goto error;
};
0
266 }
never executed: end of block
0
267 else-
268 {-
269 size_t precision_length;-
270-
271 dp->precision_start = cp - 1;-
272 for (; *
*cp >= '0'Description
TRUEnever evaluated
FALSEnever evaluated
cp >= '0'
*cp >= '0'Description
TRUEnever evaluated
FALSEnever evaluated
&& *
*cp <= '9'Description
TRUEnever evaluated
FALSEnever evaluated
cp <= '9'
*cp <= '9'Description
TRUEnever evaluated
FALSEnever evaluated
; cp++)
0
273 ;
never executed: ;
0
274 dp->precision_end = cp;-
275 precision_length = dp->precision_end - dp->precision_start;-
276 if (max_precision_length < precision_length
max_precision_...ecision_lengthDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
277 max_precision_length = precision_length;
never executed: max_precision_length = precision_length;
0
278 }
never executed: end of block
0
279 }-
280-
281 {-
282 arg_type type;-
283-
284-
285 {-
286 int flags = 0;-
287-
288 for (;;)-
289 {-
290 if (*
*cp == 'h'Description
TRUEnever evaluated
FALSEnever evaluated
cp == 'h'
*cp == 'h'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
291 {-
292 flags |= (1 << (flags & 1));-
293 cp++;-
294 }
never executed: end of block
0
295 else if (*
*cp == 'L'Description
TRUEnever evaluated
FALSEnever evaluated
cp == 'L'
*cp == 'L'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
296 {-
297 flags |= 4;-
298 cp++;-
299 }
never executed: end of block
0
300 else if (*
*cp == 'l'Description
TRUEnever evaluated
FALSEnever evaluated
cp == 'l'
*cp == 'l'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
301 {-
302 flags += 8;-
303 cp++;-
304 }
never executed: end of block
0
305 else if (*
*cp == 'j'Description
TRUEnever evaluated
FALSEnever evaluated
cp == 'j'
*cp == 'j'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
306 {-
307 if (sizeof (intmax_t) > sizeof (long)
sizeof (intmax... sizeof (long)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
308 {-
309-
310 flags += 16;-
311 }
never executed: end of block
0
312 else if (sizeof (intmax_t) > sizeof (int)
sizeof (intmax...> sizeof (int)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
313 {-
314-
315 flags += 8;-
316 }
never executed: end of block
0
317 cp++;-
318 }
never executed: end of block
0
319 else if (*
*cp == 'z'Description
TRUEnever evaluated
FALSEnever evaluated
cp == 'z'
*cp == 'z'Description
TRUEnever evaluated
FALSEnever evaluated
|| *
*cp == 'Z'Description
TRUEnever evaluated
FALSEnever evaluated
cp == 'Z'
*cp == 'Z'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
320 {-
321-
322-
323-
324 if (sizeof (size_t) > sizeof (long)
sizeof (size_t... sizeof (long)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
325 {-
326-
327 flags += 16;-
328 }
never executed: end of block
0
329 else if (sizeof (size_t) > sizeof (int)
sizeof (size_t) > sizeof (int)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
330 {-
331-
332 flags += 8;-
333 }
never executed: end of block
0
334 cp++;-
335 }
never executed: end of block
0
336 else if (*
*cp == 't'Description
TRUEnever evaluated
FALSEnever evaluated
cp == 't'
*cp == 't'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
337 {-
338 if (sizeof (ptrdiff_t) > sizeof (long)
sizeof (ptrdif... sizeof (long)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
339 {-
340-
341 flags += 16;-
342 }
never executed: end of block
0
343 else if (sizeof (ptrdiff_t) > sizeof (int)
sizeof (ptrdif...> sizeof (int)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
344 {-
345-
346 flags += 8;-
347 }
never executed: end of block
0
348 cp++;-
349 }
never executed: end of block
0
350 else-
351 break;
never executed: break;
0
352 }-
353-
354-
355 c = *cp++;-
356 switch (c)-
357 {-
358 case
never executed: case 'd':
'd':
never executed: case 'd':
case
never executed: case 'i':
'i':
never executed: case 'i':
0
359-
360-
361 if (flags >= 16
flags >= 16Description
TRUEnever evaluated
FALSEnever evaluated
|| (
(flags & 4)Description
TRUEnever evaluated
FALSEnever evaluated
flags & 4)
(flags & 4)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
362 type = TYPE_LONGLONGINT;
never executed: type = TYPE_LONGLONGINT;
0
363 else-
364-
365-
366-
367 if (flags >= 8
flags >= 8Description
TRUEnever evaluated
FALSEnever evaluated
)
0
368 type = TYPE_LONGINT;
never executed: type = TYPE_LONGINT;
0
369 else if (flags & 2
flags & 2Description
TRUEnever evaluated
FALSEnever evaluated
)
0
370 type = TYPE_SCHAR;
never executed: type = TYPE_SCHAR;
0
371 else if (flags & 1
flags & 1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
372 type = TYPE_SHORT;
never executed: type = TYPE_SHORT;
0
373 else-
374 type = TYPE_INT;
never executed: type = TYPE_INT;
0
375 break;
never executed: break;
0
376 case
never executed: case 'o':
'o':
never executed: case 'o':
case
never executed: case 'u':
'u':
never executed: case 'u':
case
never executed: case 'x':
'x':
never executed: case 'x':
case
never executed: case 'X':
'X':
never executed: case 'X':
0
377-
378-
379 if (flags >= 16
flags >= 16Description
TRUEnever evaluated
FALSEnever evaluated
|| (
(flags & 4)Description
TRUEnever evaluated
FALSEnever evaluated
flags & 4)
(flags & 4)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
380 type = TYPE_ULONGLONGINT;
never executed: type = TYPE_ULONGLONGINT;
0
381 else-
382-
383-
384-
385 if (flags >= 8
flags >= 8Description
TRUEnever evaluated
FALSEnever evaluated
)
0
386 type = TYPE_ULONGINT;
never executed: type = TYPE_ULONGINT;
0
387 else if (flags & 2
flags & 2Description
TRUEnever evaluated
FALSEnever evaluated
)
0
388 type = TYPE_UCHAR;
never executed: type = TYPE_UCHAR;
0
389 else if (flags & 1
flags & 1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
390 type = TYPE_USHORT;
never executed: type = TYPE_USHORT;
0
391 else-
392 type = TYPE_UINT;
never executed: type = TYPE_UINT;
0
393 break;
never executed: break;
0
394 case
never executed: case 'f':
'f':
never executed: case 'f':
case
never executed: case 'F':
'F':
never executed: case 'F':
case
never executed: case 'e':
'e':
never executed: case 'e':
case
never executed: case 'E':
'E':
never executed: case 'E':
case
never executed: case 'g':
'g':
never executed: case 'g':
case
never executed: case 'G':
'G':
never executed: case 'G':
0
395 case
never executed: case 'a':
'a':
never executed: case 'a':
case
never executed: case 'A':
'A':
never executed: case 'A':
0
396 if (flags >= 16
flags >= 16Description
TRUEnever evaluated
FALSEnever evaluated
|| (
(flags & 4)Description
TRUEnever evaluated
FALSEnever evaluated
flags & 4)
(flags & 4)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
397 type = TYPE_LONGDOUBLE;
never executed: type = TYPE_LONGDOUBLE;
0
398 else-
399 type = TYPE_DOUBLE;
never executed: type = TYPE_DOUBLE;
0
400 break;
never executed: break;
0
401 case
never executed: case 'c':
'c':
never executed: case 'c':
0
402 if (flags >= 8
flags >= 8Description
TRUEnever evaluated
FALSEnever evaluated
)
0
403-
404 type = TYPE_WIDE_CHAR;
never executed: type = TYPE_WIDE_CHAR;
0
405-
406-
407-
408 else-
409 type = TYPE_CHAR;
never executed: type = TYPE_CHAR;
0
410 break;
never executed: break;
0
411-
412 case
never executed: case 'C':
'C':
never executed: case 'C':
0
413 type = TYPE_WIDE_CHAR;-
414 c = 'c';-
415 break;
never executed: break;
0
416-
417 case
never executed: case 's':
's':
never executed: case 's':
0
418 if (flags >= 8
flags >= 8Description
TRUEnever evaluated
FALSEnever evaluated
)
0
419-
420 type = TYPE_WIDE_STRING;
never executed: type = TYPE_WIDE_STRING;
0
421-
422-
423-
424 else-
425 type = TYPE_STRING;
never executed: type = TYPE_STRING;
0
426 break;
never executed: break;
0
427-
428 case
never executed: case 'S':
'S':
never executed: case 'S':
0
429 type = TYPE_WIDE_STRING;-
430 c = 's';-
431 break;
never executed: break;
0
432-
433 case
never executed: case 'p':
'p':
never executed: case 'p':
0
434 type = TYPE_POINTER;-
435 break;
never executed: break;
0
436 case
never executed: case 'n':
'n':
never executed: case 'n':
0
437-
438-
439 if (flags >= 16
flags >= 16Description
TRUEnever evaluated
FALSEnever evaluated
|| (
(flags & 4)Description
TRUEnever evaluated
FALSEnever evaluated
flags & 4)
(flags & 4)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
440 type = TYPE_COUNT_LONGLONGINT_POINTER;
never executed: type = TYPE_COUNT_LONGLONGINT_POINTER;
0
441 else-
442-
443-
444-
445 if (flags >= 8
flags >= 8Description
TRUEnever evaluated
FALSEnever evaluated
)
0
446 type = TYPE_COUNT_LONGINT_POINTER;
never executed: type = TYPE_COUNT_LONGINT_POINTER;
0
447 else if (flags & 2
flags & 2Description
TRUEnever evaluated
FALSEnever evaluated
)
0
448 type = TYPE_COUNT_SCHAR_POINTER;
never executed: type = TYPE_COUNT_SCHAR_POINTER;
0
449 else if (flags & 1
flags & 1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
450 type = TYPE_COUNT_SHORT_POINTER;
never executed: type = TYPE_COUNT_SHORT_POINTER;
0
451 else-
452 type = TYPE_COUNT_INT_POINTER;
never executed: type = TYPE_COUNT_INT_POINTER;
0
453 break;
never executed: break;
0
454 case
never executed: case '%':
'%':
never executed: case '%':
0
455 type = TYPE_NONE;-
456 break;
never executed: break;
0
457 default
never executed: default:
:
never executed: default:
0
458-
459 goto
never executed: goto error;
error;
never executed: goto error;
0
460 }-
461 }-
462-
463 if (type != TYPE_NONE
type != TYPE_NONEDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
464 {-
465 dp->arg_index = arg_index;-
466 if (dp->arg_index == (~(size_t)0)
dp->arg_index == (~(size_t)0)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
467 {-
468 dp->arg_index = arg_posn++;-
469 if (dp->arg_index == (~(size_t)0)
dp->arg_index == (~(size_t)0)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
470-
471 goto
never executed: goto error;
error;
never executed: goto error;
0
472 }
never executed: end of block
0
473 { size_t n = (dp->arg_index); if (n >= a_allocated
n >= a_allocatedDescription
TRUEnever evaluated
FALSEnever evaluated
) { size_t memory_size; argument *memory; a_allocated = ((
(a_allocated) ...51615UL) / (2)Description
TRUEnever evaluated
FALSEnever evaluated
a_allocated) <=
(a_allocated) ...51615UL) / (2)Description
TRUEnever evaluated
FALSEnever evaluated
0
474 (18446744073709551615UL)
(a_allocated) ...51615UL) / (2)Description
TRUEnever evaluated
FALSEnever evaluated
0
475 / (2)
(a_allocated) ...51615UL) / (2)Description
TRUEnever evaluated
FALSEnever evaluated
? (size_t) (a_allocated) * (2) :
0
476 (18446744073709551615UL)-
477 ); if (a_allocated <= n
a_allocated <= nDescription
TRUEnever evaluated
FALSEnever evaluated
) a_allocated = xsum (n, 1);
never executed: a_allocated = xsum (n, 1);
memory_size = ((
(a_allocated) ...of (argument))Description
TRUEnever evaluated
FALSEnever evaluated
a_allocated) <=
(a_allocated) ...of (argument))Description
TRUEnever evaluated
FALSEnever evaluated
0
478 (18446744073709551615UL)
(a_allocated) ...of (argument))Description
TRUEnever evaluated
FALSEnever evaluated
0
479 / (sizeof (argument))
(a_allocated) ...of (argument))Description
TRUEnever evaluated
FALSEnever evaluated
? (size_t) (a_allocated) * (sizeof (argument)) :
0
480 (18446744073709551615UL)-
481 ); if (((
((memory_size)...709551615UL) )Description
TRUEnever evaluated
FALSEnever evaluated
memory_size) ==
((memory_size)...709551615UL) )Description
TRUEnever evaluated
FALSEnever evaluated
0
482 (18446744073709551615UL)
((memory_size)...709551615UL) )Description
TRUEnever evaluated
FALSEnever evaluated
0
483 )
((memory_size)...709551615UL) )Description
TRUEnever evaluated
FALSEnever evaluated
) goto
never executed: goto out_of_memory;
out_of_memory;
never executed: goto out_of_memory;
memory = (argument *) (a->arg != a->direct_alloc_arg ? realloc (a->arg, memory_size) : malloc (memory_size)); if (memory ==
memory == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
484 ((void *)0)
memory == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
485 ) goto
never executed: goto out_of_memory;
out_of_memory;
never executed: goto out_of_memory;
if (a->arg == a->direct_alloc_arg
a->arg == a->direct_alloc_argDescription
TRUEnever evaluated
FALSEnever evaluated
) memcpy (memory, a->arg, a->count * sizeof (argument));
never executed: memcpy (memory, a->arg, a->count * sizeof (argument));
a->arg = memory; }
never executed: end of block
while (a->count <= n
a->count <= nDescription
TRUEnever evaluated
FALSEnever evaluated
) a->arg[a->count++].type = TYPE_NONE;
never executed: a->arg[a->count++].type = TYPE_NONE;
if (a->arg[n].type == TYPE_NONE
a->arg[n].type == TYPE_NONEDescription
TRUEnever evaluated
FALSEnever evaluated
) a->arg[n].type = (type);
never executed: a->arg[n].type = (type);
else if (a->arg[n].type != (type)
a->arg[n].type != (type)Description
TRUEnever evaluated
FALSEnever evaluated
) goto
never executed: goto error;
error;
never executed: goto error;
};
0
486 }
never executed: end of block
0
487 dp->conversion = c;-
488 dp->dir_end = cp;-
489 }-
490-
491 d->count++;-
492 if (d->count >= d_allocated
d->count >= d_allocatedDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
493 {-
494 size_t memory_size;-
495 char_directive *memory;-
496-
497 d_allocated = ((
(d_allocated) ...51615UL) / (2)Description
TRUEnever evaluated
FALSEnever evaluated
d_allocated) <=
(d_allocated) ...51615UL) / (2)Description
TRUEnever evaluated
FALSEnever evaluated
0
498 (18446744073709551615UL)
(d_allocated) ...51615UL) / (2)Description
TRUEnever evaluated
FALSEnever evaluated
0
499 / (2)
(d_allocated) ...51615UL) / (2)Description
TRUEnever evaluated
FALSEnever evaluated
? (size_t) (d_allocated) * (2) :
0
500 (18446744073709551615UL)-
501 );-
502 memory_size = ((
(d_allocated) ...ar_directive))Description
TRUEnever evaluated
FALSEnever evaluated
d_allocated) <=
(d_allocated) ...ar_directive))Description
TRUEnever evaluated
FALSEnever evaluated
0
503 (18446744073709551615UL)
(d_allocated) ...ar_directive))Description
TRUEnever evaluated
FALSEnever evaluated
0
504 / (sizeof (char_directive))
(d_allocated) ...ar_directive))Description
TRUEnever evaluated
FALSEnever evaluated
? (size_t) (d_allocated) * (sizeof (char_directive)) :
0
505 (18446744073709551615UL)-
506 );-
507 if (((
((memory_size)...709551615UL) )Description
TRUEnever evaluated
FALSEnever evaluated
memory_size) ==
((memory_size)...709551615UL) )Description
TRUEnever evaluated
FALSEnever evaluated
0
508 (18446744073709551615UL)
((memory_size)...709551615UL) )Description
TRUEnever evaluated
FALSEnever evaluated
0
509 )
((memory_size)...709551615UL) )Description
TRUEnever evaluated
FALSEnever evaluated
)
0
510-
511 goto
never executed: goto out_of_memory;
out_of_memory;
never executed: goto out_of_memory;
0
512 memory = (char_directive *) (d->dir != d->direct_alloc_dir-
513 ? realloc (d->dir, memory_size)-
514 : malloc (memory_size));-
515 if (memory ==
memory == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
516 ((void *)0)
memory == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
517 )-
518-
519 goto
never executed: goto out_of_memory;
out_of_memory;
never executed: goto out_of_memory;
0
520 if (d->dir == d->direct_alloc_dir
d->dir == d->direct_alloc_dirDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
521 memcpy (memory, d->dir, d->count * sizeof (char_directive));
never executed: memcpy (memory, d->dir, d->count * sizeof (char_directive));
0
522 d->dir = memory;-
523 }
never executed: end of block
0
524 }
never executed: end of block
0
525-
526-
527-
528-
529-
530-
531-
532 }
never executed: end of block
0
533 d->dir[d->count].dir_start = cp;-
534-
535 d->max_width_length = max_width_length;-
536 d->max_precision_length = max_precision_length;-
537 return
never executed: return 0;
0;
never executed: return 0;
0
538-
539error:-
540 if (a->arg != a->direct_alloc_arg
a->arg != a->direct_alloc_argDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
541 free (a->arg);
never executed: free (a->arg);
0
542 if (d->dir != d->direct_alloc_dir
d->dir != d->direct_alloc_dirDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
543 free (d->dir);
never executed: free (d->dir);
0
544 -
545 (*__errno_location ()) -
546 = -
547 22-
548 ;-
549 return
never executed: return -1;
-1;
never executed: return -1;
0
550-
551out_of_memory:-
552 if (a->arg != a->direct_alloc_arg
a->arg != a->direct_alloc_argDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
553 free (a->arg);
never executed: free (a->arg);
0
554 if (d->dir != d->direct_alloc_dir
d->dir != d->direct_alloc_dirDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
555 free (d->dir);
never executed: free (d->dir);
0
556 -
557 (*__errno_location ()) -
558 = -
559 12-
560 ;-
561 return
never executed: return -1;
-1;
never executed: return -1;
0
562}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.1.2