Inspired by Paul's report of swapped strtol args (args 2 and 3) in a coreutils-specific test that evoked a well-deserved warning. However, I've missed it for ages because it was buried under so many others. Now I'm motivated to enable -Werror also when compiling in coreutils' gnulib-tests/ directory. This is the first step:
>From 7160b4752c2dadb04f6f365204f8aa84fa89eef7 Mon Sep 17 00:00:00 2001 From: Jim Meyering <meyer...@redhat.com> Date: Wed, 13 Oct 2010 10:02:17 +0200 Subject: [PATCH] test-inttostr: avoid shadowing warnings * tests/test-inttostr.c (main): Rename local, "buf" to "b", and use malloc rather than the stack for the same reason as mentioned in the comment justifying the other allocation. --- ChangeLog | 7 +++++++ tests/test-inttostr.c | 8 +++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 25790a6..3f0ff01 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2010-10-13 Jim Meyering <meyer...@redhat.com> + + test-inttostr: avoid shadowing warnings + * tests/test-inttostr.c (main): Rename local, "buf" to "b", + and use malloc rather than the stack for the same reason as + mentioned in the comment justifying the other allocation. + 2010-10-11 Bruno Haible <br...@clisp.org> stdlib: Allow multiple gnulib generated replacements to coexist. diff --git a/tests/test-inttostr.c b/tests/test-inttostr.c index bf18621..1ff35c0 100644 --- a/tests/test-inttostr.c +++ b/tests/test-inttostr.c @@ -65,13 +65,15 @@ int main (void) { - char buf[2]; + size_t b_size = 2; + char *b = malloc (b_size); + ASSERT (b); /* Ideally we would rely on the snprintf-posix module, in which case this guard would not be required, but due to limitations in gnulib's implementation (see modules/snprintf-posix), we cannot. */ - if (snprintf (buf, sizeof buf, "%ju", (uintmax_t) 3) == 1 - && buf[0] == '3' && buf[1] == '\0') + if (snprintf (b, b_size, "%ju", (uintmax_t) 3) == 1 + && b[0] == '3' && b[1] == '\0') { CK (int, inttostr); CK (unsigned int, uinttostr); -- 1.7.3.1.104.gc752e