Commit bff2f0b
committed
Correct the behavior and return value of snprintf()
According to C99 7.19.6.5, it explicitly defines the behavior and
return value of snprintf(). However, consider the following description
in that section:
* If n is zero, nothing is written.
* The snprintf function returns the number of characters that would
have been written had n been sufficiently large.
While validating snprintf() in the built-in C library, it was found
that the behavior and/or the return value did not match the above
description.
Therefore, these changes fix the implementation of snprintf() to
comply with the specification, and the related test cases are also
adjusted to verify the behavior and return value of snprintf().1 parent ff83f01 commit bff2f0b
File tree
6 files changed
+113
-41
lines changed- lib
- tests
- snapshots
6 files changed
+113
-41
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
210 | 210 | | |
211 | 211 | | |
212 | 212 | | |
213 | | - | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
214 | 254 | | |
215 | 255 | | |
216 | 256 | | |
217 | 257 | | |
218 | 258 | | |
219 | 259 | | |
220 | | - | |
221 | | - | |
222 | | - | |
| 260 | + | |
| 261 | + | |
223 | 262 | | |
224 | 263 | | |
225 | 264 | | |
| |||
249 | 288 | | |
250 | 289 | | |
251 | 290 | | |
252 | | - | |
| 291 | + | |
| 292 | + | |
253 | 293 | | |
254 | 294 | | |
255 | 295 | | |
256 | 296 | | |
257 | 297 | | |
258 | 298 | | |
259 | 299 | | |
260 | | - | |
| 300 | + | |
| 301 | + | |
261 | 302 | | |
262 | 303 | | |
263 | 304 | | |
264 | 305 | | |
265 | 306 | | |
266 | 307 | | |
267 | 308 | | |
268 | | - | |
269 | | - | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
270 | 312 | | |
271 | 313 | | |
272 | 314 | | |
| |||
280 | 322 | | |
281 | 323 | | |
282 | 324 | | |
| 325 | + | |
283 | 326 | | |
284 | | - | |
| 327 | + | |
| 328 | + | |
285 | 329 | | |
286 | 330 | | |
287 | 331 | | |
288 | | - | |
289 | | - | |
| 332 | + | |
| 333 | + | |
290 | 334 | | |
291 | | - | |
| 335 | + | |
292 | 336 | | |
293 | 337 | | |
294 | | - | |
| 338 | + | |
295 | 339 | | |
296 | | - | |
| 340 | + | |
297 | 341 | | |
298 | | - | |
299 | | - | |
300 | | - | |
301 | | - | |
| 342 | + | |
302 | 343 | | |
303 | | - | |
304 | | - | |
| 344 | + | |
| 345 | + | |
305 | 346 | | |
306 | 347 | | |
307 | 348 | | |
| |||
328 | 369 | | |
329 | 370 | | |
330 | 371 | | |
331 | | - | |
332 | | - | |
333 | | - | |
| 372 | + | |
| 373 | + | |
334 | 374 | | |
335 | 375 | | |
336 | 376 | | |
337 | | - | |
338 | | - | |
| 377 | + | |
| 378 | + | |
339 | 379 | | |
340 | 380 | | |
341 | 381 | | |
342 | | - | |
| 382 | + | |
343 | 383 | | |
344 | 384 | | |
345 | 385 | | |
346 | | - | |
| 386 | + | |
347 | 387 | | |
348 | 388 | | |
349 | 389 | | |
350 | | - | |
| 390 | + | |
351 | 391 | | |
352 | 392 | | |
353 | 393 | | |
354 | | - | |
355 | | - | |
| 394 | + | |
| 395 | + | |
356 | 396 | | |
357 | 397 | | |
358 | 398 | | |
| |||
361 | 401 | | |
362 | 402 | | |
363 | 403 | | |
364 | | - | |
365 | | - | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
366 | 407 | | |
367 | 408 | | |
368 | 409 | | |
369 | 410 | | |
370 | 411 | | |
371 | 412 | | |
372 | | - | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
373 | 418 | | |
374 | 419 | | |
375 | 420 | | |
376 | 421 | | |
377 | 422 | | |
378 | | - | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
379 | 428 | | |
380 | 429 | | |
381 | 430 | | |
382 | 431 | | |
383 | | - | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
384 | 437 | | |
385 | 438 | | |
386 | 439 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1647 | 1647 | | |
1648 | 1648 | | |
1649 | 1649 | | |
| 1650 | + | |
| 1651 | + | |
| 1652 | + | |
| 1653 | + | |
| 1654 | + | |
| 1655 | + | |
1650 | 1656 | | |
1651 | 1657 | | |
1652 | 1658 | | |
| |||
1656 | 1662 | | |
1657 | 1663 | | |
1658 | 1664 | | |
1659 | | - | |
| 1665 | + | |
| 1666 | + | |
| 1667 | + | |
| 1668 | + | |
| 1669 | + | |
1660 | 1670 | | |
1661 | 1671 | | |
| 1672 | + | |
| 1673 | + | |
| 1674 | + | |
1662 | 1675 | | |
1663 | 1676 | | |
1664 | 1677 | | |
1665 | 1678 | | |
1666 | 1679 | | |
1667 | 1680 | | |
1668 | | - | |
| 1681 | + | |
| 1682 | + | |
| 1683 | + | |
| 1684 | + | |
1669 | 1685 | | |
1670 | 1686 | | |
| 1687 | + | |
| 1688 | + | |
| 1689 | + | |
1671 | 1690 | | |
1672 | 1691 | | |
1673 | 1692 | | |
| |||
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
0 commit comments