mirror of
https://github.com/AxioDL/tinyxml2.git
synced 2025-06-07 15:13:28 +00:00
Merge pull request #598 from Dmitry-Me/fallThroughComments
Annotate fall throughs with comments
This commit is contained in:
commit
68edbcee49
@ -424,20 +424,24 @@ void XMLUtil::ConvertUTF32ToUTF8( unsigned long input, char* output, int* length
|
|||||||
|
|
||||||
output += *length;
|
output += *length;
|
||||||
|
|
||||||
// Scary scary fall throughs.
|
// Scary scary fall throughs are annotated with carefully designed comments
|
||||||
|
// to suppress compiler warnings such as -Wimplicit-fallthrough in gcc
|
||||||
switch (*length) {
|
switch (*length) {
|
||||||
case 4:
|
case 4:
|
||||||
--output;
|
--output;
|
||||||
*output = (char)((input | BYTE_MARK) & BYTE_MASK);
|
*output = (char)((input | BYTE_MARK) & BYTE_MASK);
|
||||||
input >>= 6;
|
input >>= 6;
|
||||||
|
//fall through
|
||||||
case 3:
|
case 3:
|
||||||
--output;
|
--output;
|
||||||
*output = (char)((input | BYTE_MARK) & BYTE_MASK);
|
*output = (char)((input | BYTE_MARK) & BYTE_MASK);
|
||||||
input >>= 6;
|
input >>= 6;
|
||||||
|
//fall through
|
||||||
case 2:
|
case 2:
|
||||||
--output;
|
--output;
|
||||||
*output = (char)((input | BYTE_MARK) & BYTE_MASK);
|
*output = (char)((input | BYTE_MARK) & BYTE_MASK);
|
||||||
input >>= 6;
|
input >>= 6;
|
||||||
|
//fall through
|
||||||
case 1:
|
case 1:
|
||||||
--output;
|
--output;
|
||||||
*output = (char)(input | FIRST_BYTE_MARK[*length]);
|
*output = (char)(input | FIRST_BYTE_MARK[*length]);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user