Control: tag -1 patch

Hi,

here's a simple patch to fix the build with GCC-7.

Cheers,
-Hilko

From: Hilko Bengen <ben...@debian.org>
Date: Tue, 22 Aug 2017 23:58:52 +0200
Subject: Add comments to fix GCC-7 implicit-fallthrough errors

---
 json_object.c  |  3 ++-
 json_tokener.c |  1 +
 linkhash.c     | 22 +++++++++++-----------
 3 files changed, 14 insertions(+), 12 deletions(-)

diff --git a/json_object.c b/json_object.c
index 6cc73bc..7ed3940 100644
--- a/json_object.c
+++ b/json_object.c
@@ -551,7 +551,8 @@ int64_t json_object_get_int64(struct json_object *jso)
   case json_type_boolean:
     return jso->o.c_boolean;
   case json_type_string:
-       if (json_parse_int64(jso->o.c_string.str, &cint) == 0) return cint;
+    if (json_parse_int64(jso->o.c_string.str, &cint) == 0) return cint;
+    /* fall-through */
   default:
     return 0;
   }
diff --git a/json_tokener.c b/json_tokener.c
index 9a76293..b23214a 100644
--- a/json_tokener.c
+++ b/json_tokener.c
@@ -305,6 +305,7 @@ struct json_object* json_tokener_parse_ex(struct 
json_tokener *tok,
             tok->err = json_tokener_error_parse_unexpected;
             goto out;
         }
+        /* fall-through */
       case '"':
        state = json_tokener_state_string;
        printbuf_reset(tok->pb);
diff --git a/linkhash.c b/linkhash.c
index 712c387..c766452 100644
--- a/linkhash.c
+++ b/linkhash.c
@@ -376,17 +376,17 @@ static uint32_t hashlittle( const void *key, size_t 
length, uint32_t initval)
     /*-------------------------------- last block: affect all 32 bits of (c) */
     switch(length)                   /* all the case statements fall through */
     {
-    case 12: c+=((uint32_t)k[11])<<24;
-    case 11: c+=((uint32_t)k[10])<<16;
-    case 10: c+=((uint32_t)k[9])<<8;
-    case 9 : c+=k[8];
-    case 8 : b+=((uint32_t)k[7])<<24;
-    case 7 : b+=((uint32_t)k[6])<<16;
-    case 6 : b+=((uint32_t)k[5])<<8;
-    case 5 : b+=k[4];
-    case 4 : a+=((uint32_t)k[3])<<24;
-    case 3 : a+=((uint32_t)k[2])<<16;
-    case 2 : a+=((uint32_t)k[1])<<8;
+    case 12: c+=((uint32_t)k[11])<<24; /* fall-through */
+    case 11: c+=((uint32_t)k[10])<<16; /* fall-through */
+    case 10: c+=((uint32_t)k[9])<<8;   /* fall-through */
+    case 9 : c+=k[8];                  /* fall-through */
+    case 8 : b+=((uint32_t)k[7])<<24;  /* fall-through */
+    case 7 : b+=((uint32_t)k[6])<<16;  /* fall-through */
+    case 6 : b+=((uint32_t)k[5])<<8;   /* fall-through */
+    case 5 : b+=k[4];                  /* fall-through */
+    case 4 : a+=((uint32_t)k[3])<<24;  /* fall-through */
+    case 3 : a+=((uint32_t)k[2])<<16;  /* fall-through */
+    case 2 : a+=((uint32_t)k[1])<<8;   /* fall-through */
     case 1 : a+=k[0];
              break;
     case 0 : return c;

Reply via email to