bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

vasnprintf.c: Remove some compiler warnings.


From: Werner LEMBERG
Subject: vasnprintf.c: Remove some compiler warnings.
Date: Mon, 02 Mar 2015 08:09:28 +0100 (CET)

The attached patch fixes some casts.

Note that clang 3.5.0 produces a bunch of other sensible warnings
(among not so sensible ones) where fixes aren't really necessary IMHO
due to the obviousness in the code.

  vasnprintf.c:1874:38: warning:
    implicit conversion changes signedness:
    'int' to 'size_t' (aka 'unsigned int') [-Wsign-conversion]
            size_t n = dp->dir_start - cp;
                   ~   ~~~~~~~~~~~~~~^~~~
  vasnprintf.c:1918:69: warning:
    implicit conversion loses integer precision:
    'size_t' (aka 'unsigned int') to 'signed char' [-Wconversion]
                    *a.arg[dp->arg_index].a.a_count_schar_pointer = length;
                                                                  ~ ^~~~~~
  vasnprintf.c:1921:69: warning:
    implicit conversion loses integer precision:
    'size_t' (aka 'unsigned int') to 'short' [-Wconversion]
                    *a.arg[dp->arg_index].a.a_count_short_pointer = length;
                                                                  ~ ^~~~~~
  vasnprintf.c:1924:67: warning:
    implicit conversion changes signedness:
    'size_t' (aka 'unsigned int') to 'int' [-Wsign-conversion]
                    *a.arg[dp->arg_index].a.a_count_int_pointer = length;
                                                                ~ ^~~~~~
  vasnprintf.c:1927:71: warning:
    implicit conversion changes signedness:
    'size_t' (aka 'unsigned int') to 'long' [-Wsign-conversion]
                    *a.arg[dp->arg_index].a.a_count_longint_pointer = length;
                                                                    ~ ^~~~~~
  vasnprintf.c:4784:50: warning:
    implicit conversion changes signedness:
    'int' to 'size_t' (aka 'unsigned int') [-Wsign-conversion]
                        size_t n = dp->width_end - dp->width_start;
                               ~   ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  vasnprintf.c:4805:54: warning:
    implicit conversion changes signedness:
    'int' to 'size_t' (aka 'unsigned int') [-Wsign-conversion]
                        size_t n = dp->precision_end - dp->precision_start;
                               ~   ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
  vasnprintf.c:5528:31: warning:
    implicit conversion changes signedness:
    'int' to 'unsigned int' [-Wsign-conversion]
                    length += count;
                           ~~ ^~~~~
  vasnprintf.c:5107:35: warning:
    comparison of integers of different signs:
    'int' and 'size_t' (aka 'unsigned int') [-Wsign-compare]
                        if (count < maxlen
                            ~~~~~ ^ ~~~~~~

I have no idea how much you want to `uglify' the sources...


    Werner
>From 40c8e8993e7857021160e193783035e3dd52d131 Mon Sep 17 00:00:00 2001
From: Werner Lemberg <address@hidden>
Date: Mon, 2 Mar 2015 08:07:54 +0100
Subject: [PATCH] vasnprintf: fix some casts

* lib/vasnprintf.c (VASNPRINTF): Use correct DCHAR_T and TCHAR_T
types.
---
 ChangeLog        | 6 ++++++
 lib/vasnprintf.c | 6 +++---
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 86bab16..794f196 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2015-03-02  Werner Lemberg  <address@hidden>
+
+       vasnprintf: fix some casts
+       * lib/vasnprintf.c (VASNPRINTF): Use correct DCHAR_T and TCHAR_T
+       types.
+
 2015-02-24  Paul Eggert  <address@hidden>
 
        glob, etc.: port to MSVC v18 on MS-Windows 8.1
diff --git a/lib/vasnprintf.c b/lib/vasnprintf.c
index 3797ce1..63933b5 100644
--- a/lib/vasnprintf.c
+++ b/lib/vasnprintf.c
@@ -1886,7 +1886,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
             else
               {
                 do
-                  result[length++] = (unsigned char) *cp++;
+                  result[length++] = (DCHAR_T) *cp++;
                 while (--n > 0);
               }
           }
@@ -4793,7 +4793,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                           {
                             const FCHAR_T *mp = dp->width_start;
                             do
-                              *fbp++ = (unsigned char) *mp++;
+                              *fbp++ = (TCHAR_T) *mp++;
                             while (--n > 0);
                           }
                       }
@@ -4814,7 +4814,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                           {
                             const FCHAR_T *mp = dp->precision_start;
                             do
-                              *fbp++ = (unsigned char) *mp++;
+                              *fbp++ = (TCHAR_T) *mp++;
                             while (--n > 0);
                           }
                       }
-- 
2.2.0.rc1


reply via email to

[Prev in Thread] Current Thread [Next in Thread]