mirror of
https://sourceware.org/git/glibc.git
synced 2025-10-27 12:15:39 +03:00
stdio-common: Fix error reporting in scanf input specifier tests
Remove buffer contents reporting from the real variant of 'verify_input' where there has been an input data format error making the contents of data buffers irrelevant. For example given invalid float input data: %a:nan:1:3:nan(: these messages are produced: error: ./tst-scanf-format-skeleton.c:240: input buffer: `0000c07f' error: ./tst-scanf-format-skeleton.c:240: value buffer: `0000c07f' error: ./tst-scanf-format-skeleton.c:242: input line 1: input data format error with the two former lines irrelevant. Remove them from output then, only leaving: error: ./tst-scanf-format-skeleton.c:242: input line 1: input data format error No test case added as it's a test case issue in the first place. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
This commit is contained in:
@@ -79,13 +79,13 @@
|
|||||||
initialize_value (v); \
|
initialize_value (v); \
|
||||||
/* Make sure it's been committed. */ \
|
/* Make sure it's been committed. */ \
|
||||||
__asm__ ("" : : : "memory"); \
|
__asm__ ("" : : : "memory"); \
|
||||||
|
\
|
||||||
v = read_real (&errx); \
|
v = read_real (&errx); \
|
||||||
if (errx < 0) \
|
if (errx < 0) \
|
||||||
goto out; \
|
goto out; \
|
||||||
match = compare_real (val, v); \
|
|
||||||
\
|
\
|
||||||
out: \
|
match = compare_real (val, v); \
|
||||||
if (errx || !match) \
|
if (!match) \
|
||||||
{ \
|
{ \
|
||||||
union \
|
union \
|
||||||
{ \
|
{ \
|
||||||
@@ -104,6 +104,7 @@ out: \
|
|||||||
printf ("'\n"); \
|
printf ("'\n"); \
|
||||||
} \
|
} \
|
||||||
\
|
\
|
||||||
|
out: \
|
||||||
*errp = errx; \
|
*errp = errx; \
|
||||||
match; \
|
match; \
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user