core: Silence newer compiler warnings.
authorWerner Koch <wk@gnupg.org>
Mon, 17 Dec 2018 15:47:06 +0000 (16:47 +0100)
committerWerner Koch <wk@gnupg.org>
Mon, 17 Dec 2018 15:47:27 +0000 (16:47 +0100)
* configure.ac: Add -Wno-format-truncation and
  -Wno-sizeof-pointer-div.
* src/b64dec.c (_gpgme_b64dec_proc): Add fallthrough annotation.
* src/cJSON.c (parse_string): Ditto.
* src/gpgme-json.c (main): Ditto.
--

gcc 8 enables a couple of new warnings.  Some of them are useless for
us.  In particular:

  util.h:42:26: warning: division 'sizeof (char *) / sizeof (char)'
  does not compute the number of array elements [-Wsizeof-pointer-div]
  #define DIM(v) (sizeof(v)/sizeof((v)[0])) ^

  trustlist.c:101:22: note:
  in expansion of macro 'DIM' if (strlen (p) == DIM(item->keyid) - 1)

Which is a real standard way to use DIM, here the right hand side is
equivalent to sizeof but nevertheless it is correct.  Yes sir, we know
C.

The format string warnings I have seen were assuming that the time
structure returns valued out of scope - but if the system is that
broken, the s_n_printf catches this.

Signed-off-by: Werner Koch <wk@gnupg.org>
configure.ac
src/b64dec.c
src/cJSON.c
src/gpgme-json.c

index 1b607e0..ff37794 100644 (file)
@@ -582,6 +582,8 @@ if test "$GCC" = yes; then
           CFLAGS="$CFLAGS -Wno-missing-field-initializers"
           CFLAGS="$CFLAGS -Wno-sign-compare"
           CFLAGS="$CFLAGS -Wno-format-zero-length"
+          CFLAGS="$CFLAGS -Wno-format-truncation"
+          CFLAGS="$CFLAGS -Wno-sizeof-pointer-div"
         fi
         CXXFLAGS="$CXXFLAGS -Wall -Wextra -Wno-shadow"
 
index 1b845ee..66ab2ec 100644 (file)
@@ -118,6 +118,7 @@ _gpgme_b64dec_proc (struct b64state *state, void *buffer, size_t length,
           break;
         case s_init:
           ds = s_lfseen;
+          /*FALLTHRU*/
         case s_lfseen:
           if (*s != "-----BEGIN "[pos])
             {
index 9e53012..64a54c7 100644 (file)
@@ -352,12 +352,15 @@ parse_string (cJSON * item, const char *str, const char **ep)
                case 4:
                  *--ptr2 = ((uc | 0x80) & 0xBF);
                  uc >>= 6;
+                  /*FALLTHRU*/
                case 3:
                  *--ptr2 = ((uc | 0x80) & 0xBF);
                  uc >>= 6;
+                  /*FALLTHRU*/
                case 2:
                  *--ptr2 = ((uc | 0x80) & 0xBF);
                  uc >>= 6;
+                  /*FALLTHRU*/
                case 1:
                  *--ptr2 = (uc | firstByteMark[len]);
                }
index a7e3d5f..e4ae81d 100644 (file)
@@ -3861,7 +3861,7 @@ main (int argc, char *argv[])
         {
         case CMD_INTERACTIVE:
           opt_interactive = 1;
-          /* Fall trough.  */
+          /*FALLTHROUGH*/
         case CMD_SINGLE:
         case CMD_LIBVERSION:
           cmd = pargs.r_opt;