mirror of https://github.com/AxioDL/tinyxml2.git
Annotate fall throughs with comments
This commit is contained in:
parent
02d2764fd7
commit
3cc6f5c6f2
|
@ -424,20 +424,24 @@ void XMLUtil::ConvertUTF32ToUTF8( unsigned long input, char* output, int* 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) {
|
||||
case 4:
|
||||
--output;
|
||||
*output = (char)((input | BYTE_MARK) & BYTE_MASK);
|
||||
input >>= 6;
|
||||
//fall through
|
||||
case 3:
|
||||
--output;
|
||||
*output = (char)((input | BYTE_MARK) & BYTE_MASK);
|
||||
input >>= 6;
|
||||
//fall through
|
||||
case 2:
|
||||
--output;
|
||||
*output = (char)((input | BYTE_MARK) & BYTE_MASK);
|
||||
input >>= 6;
|
||||
//fall through
|
||||
case 1:
|
||||
--output;
|
||||
*output = (char)(input | FIRST_BYTE_MARK[*length]);
|
||||
|
|
Loading…
Reference in New Issue