Follow the Linux kernel's lead on "fallthrough"
The pseudo keyword 'fallthrough' is defined such that case statement blocks must end with any of these keywords: * break; * fallthrough; * continue; * goto <label>; * return [expression]; * * gcc: https://gcc.gnu.org/onlinedocs/gcc/Statement-Attributes.html#Statement-Attributes The macro is defined either as __attribute__((__fallthrough__)) or as do {} while (0) /* fallthrough */ not including the semicolon. This change implements the Linux kernel style and updates several locations where "/*fallthrough*/ and /* FALLTHROUGH */ were not previously replaced. Externally imported code such as libedit, libtommath and sqlite are restored to their unaltered state. Change-Id: I69db8167b0d5884f55d96d72de3059a0235a1ba3
This commit is contained in:

committed by
Jeffrey Altman

parent
02bd267fbd
commit
04527412e3
@@ -205,22 +205,18 @@ wind_ucs4utf8(const uint32_t *in, size_t in_len, char *out, size_t *out_len)
|
||||
case 4:
|
||||
out[3] = (ch | 0x80) & 0xbf;
|
||||
ch = ch >> 6;
|
||||
/* FALLTHROUGH */
|
||||
fallthrough
|
||||
fallthrough;
|
||||
case 3:
|
||||
out[2] = (ch | 0x80) & 0xbf;
|
||||
ch = ch >> 6;
|
||||
/* FALLTHROUGH */
|
||||
fallthrough
|
||||
fallthrough;
|
||||
case 2:
|
||||
out[1] = (ch | 0x80) & 0xbf;
|
||||
ch = ch >> 6;
|
||||
/* FALLTHROUGH */
|
||||
fallthrough
|
||||
fallthrough;
|
||||
case 1:
|
||||
out[0] = ch | first_char[len - 1];
|
||||
/* FALLTHROUGH */
|
||||
fallthrough
|
||||
fallthrough;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -490,17 +486,14 @@ wind_ucs2utf8(const uint16_t *in, size_t in_len, char *out, size_t *out_len)
|
||||
case 3:
|
||||
out[2] = (ch | 0x80) & 0xbf;
|
||||
ch = ch >> 6;
|
||||
/* FALLTHROUGH */
|
||||
fallthrough
|
||||
fallthrough;
|
||||
case 2:
|
||||
out[1] = (ch | 0x80) & 0xbf;
|
||||
ch = ch >> 6;
|
||||
/* FALLTHROUGH */
|
||||
fallthrough
|
||||
fallthrough;
|
||||
case 1:
|
||||
out[0] = ch | first_char[len - 1];
|
||||
/* FALLTHROUGH */
|
||||
fallthrough
|
||||
fallthrough;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
Reference in New Issue
Block a user