diff options
author | Maciej W. Rozycki <macro@redhat.com> | 2025-08-23 01:02:10 +0100 |
---|---|---|
committer | Maciej W. Rozycki <macro@redhat.com> | 2025-08-23 01:02:46 +0100 |
commit | da2a2581c43dcad228bc89bce24d0cafa3b485f3 (patch) | |
tree | 04dd1dd110578fda0cdf1805399514f2b48be6ee | |
parent | 2b16c76609350ec887d49afd4447743da38f7fab (diff) | |
download | glibc-da2a2581c43dcad228bc89bce24d0cafa3b485f3.zip glibc-da2a2581c43dcad228bc89bce24d0cafa3b485f3.tar.gz glibc-da2a2581c43dcad228bc89bce24d0cafa3b485f3.tar.bz2 |
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>
-rw-r--r-- | stdio-common/tst-scanf-format-real.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/stdio-common/tst-scanf-format-real.h b/stdio-common/tst-scanf-format-real.h index ed79418..fc7f39e 100644 --- a/stdio-common/tst-scanf-format-real.h +++ b/stdio-common/tst-scanf-format-real.h @@ -79,13 +79,13 @@ initialize_value (v); \ /* Make sure it's been committed. */ \ __asm__ ("" : : : "memory"); \ + \ v = read_real (&errx); \ if (errx < 0) \ goto out; \ - match = compare_real (val, v); \ \ -out: \ - if (errx || !match) \ + match = compare_real (val, v); \ + if (!match) \ { \ union \ { \ @@ -104,6 +104,7 @@ out: \ printf ("'\n"); \ } \ \ +out: \ *errp = errx; \ match; \ }) |