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;