[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
vasnprintf warnings
From: |
Eric Blake |
Subject: |
vasnprintf warnings |
Date: |
Fri, 30 Oct 2009 16:27:56 +0000 (UTC) |
User-agent: |
Loom/3.14 (http://gmane.org/) |
Bruno, is it okay to apply this patch to silence these compiler warnings?
| vasnprintf.c:2378: warning: declaration of 'buf' shadows a previous local
| vasnprintf.c:1502: warning: shadowed declaration is here
Here, using two different local variables buf with different types and nested
scopes is plain confusing.
| printf-args.c: In function printf_fetchargs:
| printf-args.c:93: warning: signed and unsigned type in conditional expression
Here, wint_t can be either signed or unsigned, so to be sure we aren't causing
any problems with inadvertent sign extension, the extra cast seems the best way
to go.
From: Eric Blake <address@hidden>
Date: Fri, 30 Oct 2009 10:24:45 -0600
Subject: [PATCH] vasnprintf: avoid compiler warnings
* lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
variables.
* lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
Signed-off-by: Eric Blake <address@hidden>
---
ChangeLog | 5 +++++
lib/printf-args.c | 5 +++--
lib/vasnprintf.c | 36 ++++++++++++++++++------------------
3 files changed, 26 insertions(+), 20 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 7f11ba4..80c4c8c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2009-10-30 Eric Blake <address@hidden>
+ vasnprintf: avoid compiler warnings
+ * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
+ variables.
+ * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
+
build: avoid compiler warnings
* lib/fchmodat.c (lchmod): Mark unused variables.
* lib/getopt.c (_getopt_initialize): Likewise.
diff --git a/lib/printf-args.c b/lib/printf-args.c
index 4978914..e994239 100644
--- a/lib/printf-args.c
+++ b/lib/printf-args.c
@@ -1,5 +1,6 @@
/* Decomposed printf argument list.
- Copyright (C) 1999, 2002-2003, 2005-2007 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002-2003, 2005-2007, 2009 Free Software
+ Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -89,7 +90,7 @@ PRINTF_FETCHARGS (va_list args, arguments *a)
where wint_t is 'unsigned short'. */
ap->a.a_wide_char =
(sizeof (wint_t) < sizeof (int)
- ? va_arg (args, int)
+ ? (wint_t) va_arg (args, int)
: va_arg (args, wint_t));
break;
#endif
diff --git a/lib/vasnprintf.c b/lib/vasnprintf.c
index 661445c..ab66288 100644
--- a/lib/vasnprintf.c
+++ b/lib/vasnprintf.c
@@ -2375,16 +2375,16 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
characters = 0;
while (precision > 0)
{
- char buf[64]; /* Assume MB_CUR_MAX <= 64. */
+ char cbuf[64]; /* Assume MB_CUR_MAX <= 64. */
int count;
if (*arg_end == 0)
/* Found the terminating null wide character. */
break;
# if HAVE_WCRTOMB
- count = wcrtomb (buf, *arg_end, &state);
+ count = wcrtomb (cbuf, *arg_end, &state);
# else
- count = wctomb (buf, *arg_end);
+ count = wctomb (cbuf, *arg_end);
# endif
if (count < 0)
{
@@ -2420,16 +2420,16 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
characters = 0;
for (;;)
{
- char buf[64]; /* Assume MB_CUR_MAX <= 64. */
+ char cbuf[64]; /* Assume MB_CUR_MAX <= 64. */
int count;
if (*arg_end == 0)
/* Found the terminating null wide character. */
break;
# if HAVE_WCRTOMB
- count = wcrtomb (buf, *arg_end, &state);
+ count = wcrtomb (cbuf, *arg_end, &state);
# else
- count = wctomb (buf, *arg_end);
+ count = wctomb (cbuf, *arg_end);
# endif
if (count < 0)
{
@@ -2470,20 +2470,20 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
# endif
for (remaining = characters; remaining > 0; )
{
- char buf[64]; /* Assume MB_CUR_MAX <= 64. */
+ char cbuf[64]; /* Assume MB_CUR_MAX <= 64. */
int count;
if (*arg == 0)
abort ();
# if HAVE_WCRTOMB
- count = wcrtomb (buf, *arg, &state);
+ count = wcrtomb (cbuf, *arg, &state);
# else
- count = wctomb (buf, *arg);
+ count = wctomb (cbuf, *arg);
# endif
if (count <= 0)
/* Inconsistency. */
abort ();
- memcpy (tmpptr, buf, count);
+ memcpy (tmpptr, cbuf, count);
tmpptr += count;
arg++;
remaining -= count;
@@ -2552,20 +2552,20 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
ENSURE_ALLOCATION (xsum (length, characters));
for (remaining = characters; remaining > 0; )
{
- char buf[64]; /* Assume MB_CUR_MAX <= 64. */
+ char cbuf[64]; /* Assume MB_CUR_MAX <= 64. */
int count;
if (*arg == 0)
abort ();
# if HAVE_WCRTOMB
- count = wcrtomb (buf, *arg, &state);
+ count = wcrtomb (cbuf, *arg, &state);
# else
- count = wctomb (buf, *arg);
+ count = wctomb (cbuf, *arg);
# endif
if (count <= 0)
/* Inconsistency. */
abort ();
- memcpy (result + length, buf, count);
+ memcpy (result + length, cbuf, count);
length += count;
arg++;
remaining -= count;
@@ -2581,21 +2581,21 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
# endif
while (arg < arg_end)
{
- char buf[64]; /* Assume MB_CUR_MAX <= 64. */
+ char cbuf[64]; /* Assume MB_CUR_MAX <= 64. */
int count;
if (*arg == 0)
abort ();
# if HAVE_WCRTOMB
- count = wcrtomb (buf, *arg, &state);
+ count = wcrtomb (cbuf, *arg, &state);
# else
- count = wctomb (buf, *arg);
+ count = wctomb (cbuf, *arg);
# endif
if (count <= 0)
/* Inconsistency. */
abort ();
ENSURE_ALLOCATION (xsum (length, count));
- memcpy (result + length, buf, count);
+ memcpy (result + length, cbuf, count);
length += count;
arg++;
}
--
1.6.4.2
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- vasnprintf warnings,
Eric Blake <=