mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	lib: Revert use of fallthrough pseudo-keyword in lib/
The following build error for powerpc64 was reported by Nathan Chancellor:
  "$ scripts/config --file arch/powerpc/configs/powernv_defconfig -e KERNEL_XZ
   $ make -skj"$(nproc)" ARCH=powerpc CROSS_COMPILE=powerpc64le-linux- distclean powernv_defconfig zImage
   ...
   In file included from arch/powerpc/boot/../../../lib/decompress_unxz.c:234,
                    from arch/powerpc/boot/decompress.c:38:
   arch/powerpc/boot/../../../lib/xz/xz_dec_stream.c: In function 'dec_main':
   arch/powerpc/boot/../../../lib/xz/xz_dec_stream.c:586:4: error: 'fallthrough' undeclared (first use in this function)
     586 |    fallthrough;
         |    ^~~~~~~~~~~
   This will end up affecting distribution configurations such as Debian
   and OpenSUSE according to my testing. I am not sure what the solution
   is, the PowerPC wrapper does not set -D__KERNEL__ so I am not sure
   that compiler_attributes.h can be safely included."
In order to avoid these sort of problems, it seems that the best
solution is to use /* fall through */ comments instead of the
fallthrough pseudo-keyword macro in lib/, for now.
Reported-by: Nathan Chancellor <natechancellor@gmail.com>
Fixes: df561f6688 ("treewide: Use fallthrough pseudo-keyword")
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Reviewed-and-tested-by: Nathan Chancellor <natechancellor@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
			
			
This commit is contained in:
		
							parent
							
								
									9907ab3714
								
							
						
					
					
						commit
						6a9dc5fd61
					
				
					 16 changed files with 64 additions and 64 deletions
				
			
		| 
						 | 
					@ -381,7 +381,7 @@ int asn1_ber_decoder(const struct asn1_decoder *decoder,
 | 
				
			||||||
	case ASN1_OP_END_SET_ACT:
 | 
						case ASN1_OP_END_SET_ACT:
 | 
				
			||||||
		if (unlikely(!(flags & FLAG_MATCHED)))
 | 
							if (unlikely(!(flags & FLAG_MATCHED)))
 | 
				
			||||||
			goto tag_mismatch;
 | 
								goto tag_mismatch;
 | 
				
			||||||
		fallthrough;
 | 
							/* fall through */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	case ASN1_OP_END_SEQ:
 | 
						case ASN1_OP_END_SEQ:
 | 
				
			||||||
	case ASN1_OP_END_SET_OF:
 | 
						case ASN1_OP_END_SET_OF:
 | 
				
			||||||
| 
						 | 
					@ -448,7 +448,7 @@ int asn1_ber_decoder(const struct asn1_decoder *decoder,
 | 
				
			||||||
			pc += asn1_op_lengths[op];
 | 
								pc += asn1_op_lengths[op];
 | 
				
			||||||
			goto next_op;
 | 
								goto next_op;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		fallthrough;
 | 
							/* fall through */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	case ASN1_OP_ACT:
 | 
						case ASN1_OP_ACT:
 | 
				
			||||||
		ret = actions[machine[pc + 1]](context, hdr, tag, data + tdp, len);
 | 
							ret = actions[machine[pc + 1]](context, hdr, tag, data + tdp, len);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1113,7 +1113,7 @@ struct assoc_array_edit *assoc_array_delete(struct assoc_array *array,
 | 
				
			||||||
						index_key))
 | 
											index_key))
 | 
				
			||||||
				goto found_leaf;
 | 
									goto found_leaf;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		fallthrough;
 | 
							/* fall through */
 | 
				
			||||||
	case assoc_array_walk_tree_empty:
 | 
						case assoc_array_walk_tree_empty:
 | 
				
			||||||
	case assoc_array_walk_found_wrong_shortcut:
 | 
						case assoc_array_walk_found_wrong_shortcut:
 | 
				
			||||||
	default:
 | 
						default:
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -817,7 +817,7 @@ int __init xbc_init(char *buf, const char **emsg, int *epos)
 | 
				
			||||||
							q - 2);
 | 
												q - 2);
 | 
				
			||||||
				break;
 | 
									break;
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			fallthrough;
 | 
								/* fall through */
 | 
				
			||||||
		case '=':
 | 
							case '=':
 | 
				
			||||||
			ret = xbc_parse_kv(&p, q, c);
 | 
								ret = xbc_parse_kv(&p, q, c);
 | 
				
			||||||
			break;
 | 
								break;
 | 
				
			||||||
| 
						 | 
					@ -826,7 +826,7 @@ int __init xbc_init(char *buf, const char **emsg, int *epos)
 | 
				
			||||||
			break;
 | 
								break;
 | 
				
			||||||
		case '#':
 | 
							case '#':
 | 
				
			||||||
			q = skip_comment(q);
 | 
								q = skip_comment(q);
 | 
				
			||||||
			fallthrough;
 | 
								/* fall through */
 | 
				
			||||||
		case ';':
 | 
							case ';':
 | 
				
			||||||
		case '\n':
 | 
							case '\n':
 | 
				
			||||||
			ret = xbc_parse_key(&p, q);
 | 
								ret = xbc_parse_key(&p, q);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -132,23 +132,23 @@ unsigned long long memparse(const char *ptr, char **retptr)
 | 
				
			||||||
	case 'E':
 | 
						case 'E':
 | 
				
			||||||
	case 'e':
 | 
						case 'e':
 | 
				
			||||||
		ret <<= 10;
 | 
							ret <<= 10;
 | 
				
			||||||
		fallthrough;
 | 
							/* fall through */
 | 
				
			||||||
	case 'P':
 | 
						case 'P':
 | 
				
			||||||
	case 'p':
 | 
						case 'p':
 | 
				
			||||||
		ret <<= 10;
 | 
							ret <<= 10;
 | 
				
			||||||
		fallthrough;
 | 
							/* fall through */
 | 
				
			||||||
	case 'T':
 | 
						case 'T':
 | 
				
			||||||
	case 't':
 | 
						case 't':
 | 
				
			||||||
		ret <<= 10;
 | 
							ret <<= 10;
 | 
				
			||||||
		fallthrough;
 | 
							/* fall through */
 | 
				
			||||||
	case 'G':
 | 
						case 'G':
 | 
				
			||||||
	case 'g':
 | 
						case 'g':
 | 
				
			||||||
		ret <<= 10;
 | 
							ret <<= 10;
 | 
				
			||||||
		fallthrough;
 | 
							/* fall through */
 | 
				
			||||||
	case 'M':
 | 
						case 'M':
 | 
				
			||||||
	case 'm':
 | 
						case 'm':
 | 
				
			||||||
		ret <<= 10;
 | 
							ret <<= 10;
 | 
				
			||||||
		fallthrough;
 | 
							/* fall through */
 | 
				
			||||||
	case 'K':
 | 
						case 'K':
 | 
				
			||||||
	case 'k':
 | 
						case 'k':
 | 
				
			||||||
		ret <<= 10;
 | 
							ret <<= 10;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -233,7 +233,7 @@ void net_dim(struct dim *dim, struct dim_sample end_sample)
 | 
				
			||||||
			schedule_work(&dim->work);
 | 
								schedule_work(&dim->work);
 | 
				
			||||||
			break;
 | 
								break;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		fallthrough;
 | 
							/* fall through */
 | 
				
			||||||
	case DIM_START_MEASURE:
 | 
						case DIM_START_MEASURE:
 | 
				
			||||||
		dim_update_sample(end_sample.event_ctr, end_sample.pkt_ctr,
 | 
							dim_update_sample(end_sample.event_ctr, end_sample.pkt_ctr,
 | 
				
			||||||
				  end_sample.byte_ctr, &dim->start_sample);
 | 
									  end_sample.byte_ctr, &dim->start_sample);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -59,7 +59,7 @@ static bool rdma_dim_decision(struct dim_stats *curr_stats, struct dim *dim)
 | 
				
			||||||
			break;
 | 
								break;
 | 
				
			||||||
		case DIM_STATS_WORSE:
 | 
							case DIM_STATS_WORSE:
 | 
				
			||||||
			dim_turn(dim);
 | 
								dim_turn(dim);
 | 
				
			||||||
			fallthrough;
 | 
								/* fall through */
 | 
				
			||||||
		case DIM_STATS_BETTER:
 | 
							case DIM_STATS_BETTER:
 | 
				
			||||||
			step_res = rdma_dim_step(dim);
 | 
								step_res = rdma_dim_step(dim);
 | 
				
			||||||
			if (step_res == DIM_ON_EDGE)
 | 
								if (step_res == DIM_ON_EDGE)
 | 
				
			||||||
| 
						 | 
					@ -94,7 +94,7 @@ void rdma_dim(struct dim *dim, u64 completions)
 | 
				
			||||||
			schedule_work(&dim->work);
 | 
								schedule_work(&dim->work);
 | 
				
			||||||
			break;
 | 
								break;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		fallthrough;
 | 
							/* fall through */
 | 
				
			||||||
	case DIM_START_MEASURE:
 | 
						case DIM_START_MEASURE:
 | 
				
			||||||
		dim->state = DIM_MEASURE_IN_PROGRESS;
 | 
							dim->state = DIM_MEASURE_IN_PROGRESS;
 | 
				
			||||||
		dim_update_sample_with_comps(curr_sample->event_ctr, 0, 0,
 | 
							dim_update_sample_with_comps(curr_sample->event_ctr, 0, 0,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -102,7 +102,7 @@ bool __pure glob_match(char const *pat, char const *str)
 | 
				
			||||||
			break;
 | 
								break;
 | 
				
			||||||
		case '\\':
 | 
							case '\\':
 | 
				
			||||||
			d = *pat++;
 | 
								d = *pat++;
 | 
				
			||||||
			fallthrough;
 | 
								/* fall through */
 | 
				
			||||||
		default:	/* Literal character */
 | 
							default:	/* Literal character */
 | 
				
			||||||
literal:
 | 
					literal:
 | 
				
			||||||
			if (c == d) {
 | 
								if (c == d) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -68,11 +68,11 @@ u64 __siphash_aligned(const void *data, size_t len, const siphash_key_t *key)
 | 
				
			||||||
						  bytemask_from_count(left)));
 | 
											  bytemask_from_count(left)));
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
	switch (left) {
 | 
						switch (left) {
 | 
				
			||||||
	case 7: b |= ((u64)end[6]) << 48; fallthrough;
 | 
						case 7: b |= ((u64)end[6]) << 48; /* fall through */
 | 
				
			||||||
	case 6: b |= ((u64)end[5]) << 40; fallthrough;
 | 
						case 6: b |= ((u64)end[5]) << 40; /* fall through */
 | 
				
			||||||
	case 5: b |= ((u64)end[4]) << 32; fallthrough;
 | 
						case 5: b |= ((u64)end[4]) << 32; /* fall through */
 | 
				
			||||||
	case 4: b |= le32_to_cpup(data); break;
 | 
						case 4: b |= le32_to_cpup(data); break;
 | 
				
			||||||
	case 3: b |= ((u64)end[2]) << 16; fallthrough;
 | 
						case 3: b |= ((u64)end[2]) << 16; /* fall through */
 | 
				
			||||||
	case 2: b |= le16_to_cpup(data); break;
 | 
						case 2: b |= le16_to_cpup(data); break;
 | 
				
			||||||
	case 1: b |= end[0];
 | 
						case 1: b |= end[0];
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					@ -101,11 +101,11 @@ u64 __siphash_unaligned(const void *data, size_t len, const siphash_key_t *key)
 | 
				
			||||||
						  bytemask_from_count(left)));
 | 
											  bytemask_from_count(left)));
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
	switch (left) {
 | 
						switch (left) {
 | 
				
			||||||
	case 7: b |= ((u64)end[6]) << 48; fallthrough;
 | 
						case 7: b |= ((u64)end[6]) << 48; /* fall through */
 | 
				
			||||||
	case 6: b |= ((u64)end[5]) << 40; fallthrough;
 | 
						case 6: b |= ((u64)end[5]) << 40; /* fall through */
 | 
				
			||||||
	case 5: b |= ((u64)end[4]) << 32; fallthrough;
 | 
						case 5: b |= ((u64)end[4]) << 32; /* fall through */
 | 
				
			||||||
	case 4: b |= get_unaligned_le32(end); break;
 | 
						case 4: b |= get_unaligned_le32(end); break;
 | 
				
			||||||
	case 3: b |= ((u64)end[2]) << 16; fallthrough;
 | 
						case 3: b |= ((u64)end[2]) << 16; /* fall through */
 | 
				
			||||||
	case 2: b |= get_unaligned_le16(end); break;
 | 
						case 2: b |= get_unaligned_le16(end); break;
 | 
				
			||||||
	case 1: b |= end[0];
 | 
						case 1: b |= end[0];
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					@ -268,11 +268,11 @@ u32 __hsiphash_aligned(const void *data, size_t len, const hsiphash_key_t *key)
 | 
				
			||||||
						  bytemask_from_count(left)));
 | 
											  bytemask_from_count(left)));
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
	switch (left) {
 | 
						switch (left) {
 | 
				
			||||||
	case 7: b |= ((u64)end[6]) << 48; fallthrough;
 | 
						case 7: b |= ((u64)end[6]) << 48; /* fall through */
 | 
				
			||||||
	case 6: b |= ((u64)end[5]) << 40; fallthrough;
 | 
						case 6: b |= ((u64)end[5]) << 40; /* fall through */
 | 
				
			||||||
	case 5: b |= ((u64)end[4]) << 32; fallthrough;
 | 
						case 5: b |= ((u64)end[4]) << 32; /* fall through */
 | 
				
			||||||
	case 4: b |= le32_to_cpup(data); break;
 | 
						case 4: b |= le32_to_cpup(data); break;
 | 
				
			||||||
	case 3: b |= ((u64)end[2]) << 16; fallthrough;
 | 
						case 3: b |= ((u64)end[2]) << 16; /* fall through */
 | 
				
			||||||
	case 2: b |= le16_to_cpup(data); break;
 | 
						case 2: b |= le16_to_cpup(data); break;
 | 
				
			||||||
	case 1: b |= end[0];
 | 
						case 1: b |= end[0];
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					@ -301,11 +301,11 @@ u32 __hsiphash_unaligned(const void *data, size_t len,
 | 
				
			||||||
						  bytemask_from_count(left)));
 | 
											  bytemask_from_count(left)));
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
	switch (left) {
 | 
						switch (left) {
 | 
				
			||||||
	case 7: b |= ((u64)end[6]) << 48; fallthrough;
 | 
						case 7: b |= ((u64)end[6]) << 48; /* fall through */
 | 
				
			||||||
	case 6: b |= ((u64)end[5]) << 40; fallthrough;
 | 
						case 6: b |= ((u64)end[5]) << 40; /* fall through */
 | 
				
			||||||
	case 5: b |= ((u64)end[4]) << 32; fallthrough;
 | 
						case 5: b |= ((u64)end[4]) << 32; /* fall through */
 | 
				
			||||||
	case 4: b |= get_unaligned_le32(end); break;
 | 
						case 4: b |= get_unaligned_le32(end); break;
 | 
				
			||||||
	case 3: b |= ((u64)end[2]) << 16; fallthrough;
 | 
						case 3: b |= ((u64)end[2]) << 16; /* fall through */
 | 
				
			||||||
	case 2: b |= get_unaligned_le16(end); break;
 | 
						case 2: b |= get_unaligned_le16(end); break;
 | 
				
			||||||
	case 1: b |= end[0];
 | 
						case 1: b |= end[0];
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					@ -431,7 +431,7 @@ u32 __hsiphash_aligned(const void *data, size_t len, const hsiphash_key_t *key)
 | 
				
			||||||
		v0 ^= m;
 | 
							v0 ^= m;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	switch (left) {
 | 
						switch (left) {
 | 
				
			||||||
	case 3: b |= ((u32)end[2]) << 16; fallthrough;
 | 
						case 3: b |= ((u32)end[2]) << 16; /* fall through */
 | 
				
			||||||
	case 2: b |= le16_to_cpup(data); break;
 | 
						case 2: b |= le16_to_cpup(data); break;
 | 
				
			||||||
	case 1: b |= end[0];
 | 
						case 1: b |= end[0];
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					@ -454,7 +454,7 @@ u32 __hsiphash_unaligned(const void *data, size_t len,
 | 
				
			||||||
		v0 ^= m;
 | 
							v0 ^= m;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	switch (left) {
 | 
						switch (left) {
 | 
				
			||||||
	case 3: b |= ((u32)end[2]) << 16; fallthrough;
 | 
						case 3: b |= ((u32)end[2]) << 16; /* fall through */
 | 
				
			||||||
	case 2: b |= get_unaligned_le16(end); break;
 | 
						case 2: b |= get_unaligned_le16(end); break;
 | 
				
			||||||
	case 1: b |= end[0];
 | 
						case 1: b |= end[0];
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -193,7 +193,7 @@ static unsigned int fsm_find(struct ts_config *conf, struct ts_state *state)
 | 
				
			||||||
				TOKEN_MISMATCH();
 | 
									TOKEN_MISMATCH();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			block_idx++;
 | 
								block_idx++;
 | 
				
			||||||
			fallthrough;
 | 
								/* fall through */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		case TS_FSM_ANY:
 | 
							case TS_FSM_ANY:
 | 
				
			||||||
			if (next == NULL)
 | 
								if (next == NULL)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1265,7 +1265,7 @@ char *mac_address_string(char *buf, char *end, u8 *addr,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	case 'R':
 | 
						case 'R':
 | 
				
			||||||
		reversed = true;
 | 
							reversed = true;
 | 
				
			||||||
		fallthrough;
 | 
							/* fall through */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	default:
 | 
						default:
 | 
				
			||||||
		separator = ':';
 | 
							separator = ':';
 | 
				
			||||||
| 
						 | 
					@ -1682,7 +1682,7 @@ char *uuid_string(char *buf, char *end, const u8 *addr,
 | 
				
			||||||
	switch (*(++fmt)) {
 | 
						switch (*(++fmt)) {
 | 
				
			||||||
	case 'L':
 | 
						case 'L':
 | 
				
			||||||
		uc = true;
 | 
							uc = true;
 | 
				
			||||||
		fallthrough;
 | 
							/* fall through */
 | 
				
			||||||
	case 'l':
 | 
						case 'l':
 | 
				
			||||||
		index = guid_index;
 | 
							index = guid_index;
 | 
				
			||||||
		break;
 | 
							break;
 | 
				
			||||||
| 
						 | 
					@ -2219,7 +2219,7 @@ char *pointer(const char *fmt, char *buf, char *end, void *ptr,
 | 
				
			||||||
	case 'S':
 | 
						case 'S':
 | 
				
			||||||
	case 's':
 | 
						case 's':
 | 
				
			||||||
		ptr = dereference_symbol_descriptor(ptr);
 | 
							ptr = dereference_symbol_descriptor(ptr);
 | 
				
			||||||
		fallthrough;
 | 
							/* fall through */
 | 
				
			||||||
	case 'B':
 | 
						case 'B':
 | 
				
			||||||
		return symbol_string(buf, end, ptr, spec, fmt);
 | 
							return symbol_string(buf, end, ptr, spec, fmt);
 | 
				
			||||||
	case 'R':
 | 
						case 'R':
 | 
				
			||||||
| 
						 | 
					@ -2450,7 +2450,7 @@ int format_decode(const char *fmt, struct printf_spec *spec)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	case 'x':
 | 
						case 'x':
 | 
				
			||||||
		spec->flags |= SMALL;
 | 
							spec->flags |= SMALL;
 | 
				
			||||||
		fallthrough;
 | 
							/* fall through */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	case 'X':
 | 
						case 'X':
 | 
				
			||||||
		spec->base = 16;
 | 
							spec->base = 16;
 | 
				
			||||||
| 
						 | 
					@ -2468,7 +2468,7 @@ int format_decode(const char *fmt, struct printf_spec *spec)
 | 
				
			||||||
		 * utility, treat it as any other invalid or
 | 
							 * utility, treat it as any other invalid or
 | 
				
			||||||
		 * unsupported format specifier.
 | 
							 * unsupported format specifier.
 | 
				
			||||||
		 */
 | 
							 */
 | 
				
			||||||
		fallthrough;
 | 
							/* fall through */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	default:
 | 
						default:
 | 
				
			||||||
		WARN_ONCE(1, "Please remove unsupported %%%c in format string\n", *fmt);
 | 
							WARN_ONCE(1, "Please remove unsupported %%%c in format string\n", *fmt);
 | 
				
			||||||
| 
						 | 
					@ -3411,10 +3411,10 @@ int vsscanf(const char *buf, const char *fmt, va_list args)
 | 
				
			||||||
			break;
 | 
								break;
 | 
				
			||||||
		case 'i':
 | 
							case 'i':
 | 
				
			||||||
			base = 0;
 | 
								base = 0;
 | 
				
			||||||
			fallthrough;
 | 
								/* fall through */
 | 
				
			||||||
		case 'd':
 | 
							case 'd':
 | 
				
			||||||
			is_sign = true;
 | 
								is_sign = true;
 | 
				
			||||||
			fallthrough;
 | 
								/* fall through */
 | 
				
			||||||
		case 'u':
 | 
							case 'u':
 | 
				
			||||||
			break;
 | 
								break;
 | 
				
			||||||
		case '%':
 | 
							case '%':
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1043,7 +1043,7 @@ XZ_EXTERN enum xz_ret xz_dec_lzma2_run(struct xz_dec_lzma2 *s,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			s->lzma2.sequence = SEQ_LZMA_PREPARE;
 | 
								s->lzma2.sequence = SEQ_LZMA_PREPARE;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			fallthrough;
 | 
								/* fall through */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		case SEQ_LZMA_PREPARE:
 | 
							case SEQ_LZMA_PREPARE:
 | 
				
			||||||
			if (s->lzma2.compressed < RC_INIT_BYTES)
 | 
								if (s->lzma2.compressed < RC_INIT_BYTES)
 | 
				
			||||||
| 
						 | 
					@ -1055,7 +1055,7 @@ XZ_EXTERN enum xz_ret xz_dec_lzma2_run(struct xz_dec_lzma2 *s,
 | 
				
			||||||
			s->lzma2.compressed -= RC_INIT_BYTES;
 | 
								s->lzma2.compressed -= RC_INIT_BYTES;
 | 
				
			||||||
			s->lzma2.sequence = SEQ_LZMA_RUN;
 | 
								s->lzma2.sequence = SEQ_LZMA_RUN;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			fallthrough;
 | 
								/* fall through */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		case SEQ_LZMA_RUN:
 | 
							case SEQ_LZMA_RUN:
 | 
				
			||||||
			/*
 | 
								/*
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -583,7 +583,7 @@ static enum xz_ret dec_main(struct xz_dec *s, struct xz_buf *b)
 | 
				
			||||||
			if (ret != XZ_OK)
 | 
								if (ret != XZ_OK)
 | 
				
			||||||
				return ret;
 | 
									return ret;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			fallthrough;
 | 
								/* fall through */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		case SEQ_BLOCK_START:
 | 
							case SEQ_BLOCK_START:
 | 
				
			||||||
			/* We need one byte of input to continue. */
 | 
								/* We need one byte of input to continue. */
 | 
				
			||||||
| 
						 | 
					@ -608,7 +608,7 @@ static enum xz_ret dec_main(struct xz_dec *s, struct xz_buf *b)
 | 
				
			||||||
			s->temp.pos = 0;
 | 
								s->temp.pos = 0;
 | 
				
			||||||
			s->sequence = SEQ_BLOCK_HEADER;
 | 
								s->sequence = SEQ_BLOCK_HEADER;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			fallthrough;
 | 
								/* fall through */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		case SEQ_BLOCK_HEADER:
 | 
							case SEQ_BLOCK_HEADER:
 | 
				
			||||||
			if (!fill_temp(s, b))
 | 
								if (!fill_temp(s, b))
 | 
				
			||||||
| 
						 | 
					@ -620,7 +620,7 @@ static enum xz_ret dec_main(struct xz_dec *s, struct xz_buf *b)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			s->sequence = SEQ_BLOCK_UNCOMPRESS;
 | 
								s->sequence = SEQ_BLOCK_UNCOMPRESS;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			fallthrough;
 | 
								/* fall through */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		case SEQ_BLOCK_UNCOMPRESS:
 | 
							case SEQ_BLOCK_UNCOMPRESS:
 | 
				
			||||||
			ret = dec_block(s, b);
 | 
								ret = dec_block(s, b);
 | 
				
			||||||
| 
						 | 
					@ -629,7 +629,7 @@ static enum xz_ret dec_main(struct xz_dec *s, struct xz_buf *b)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			s->sequence = SEQ_BLOCK_PADDING;
 | 
								s->sequence = SEQ_BLOCK_PADDING;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			fallthrough;
 | 
								/* fall through */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		case SEQ_BLOCK_PADDING:
 | 
							case SEQ_BLOCK_PADDING:
 | 
				
			||||||
			/*
 | 
								/*
 | 
				
			||||||
| 
						 | 
					@ -651,7 +651,7 @@ static enum xz_ret dec_main(struct xz_dec *s, struct xz_buf *b)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			s->sequence = SEQ_BLOCK_CHECK;
 | 
								s->sequence = SEQ_BLOCK_CHECK;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			fallthrough;
 | 
								/* fall through */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		case SEQ_BLOCK_CHECK:
 | 
							case SEQ_BLOCK_CHECK:
 | 
				
			||||||
			if (s->check_type == XZ_CHECK_CRC32) {
 | 
								if (s->check_type == XZ_CHECK_CRC32) {
 | 
				
			||||||
| 
						 | 
					@ -675,7 +675,7 @@ static enum xz_ret dec_main(struct xz_dec *s, struct xz_buf *b)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			s->sequence = SEQ_INDEX_PADDING;
 | 
								s->sequence = SEQ_INDEX_PADDING;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			fallthrough;
 | 
								/* fall through */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		case SEQ_INDEX_PADDING:
 | 
							case SEQ_INDEX_PADDING:
 | 
				
			||||||
			while ((s->index.size + (b->in_pos - s->in_start))
 | 
								while ((s->index.size + (b->in_pos - s->in_start))
 | 
				
			||||||
| 
						 | 
					@ -699,7 +699,7 @@ static enum xz_ret dec_main(struct xz_dec *s, struct xz_buf *b)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			s->sequence = SEQ_INDEX_CRC32;
 | 
								s->sequence = SEQ_INDEX_CRC32;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			fallthrough;
 | 
								/* fall through */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		case SEQ_INDEX_CRC32:
 | 
							case SEQ_INDEX_CRC32:
 | 
				
			||||||
			ret = crc32_validate(s, b);
 | 
								ret = crc32_validate(s, b);
 | 
				
			||||||
| 
						 | 
					@ -709,7 +709,7 @@ static enum xz_ret dec_main(struct xz_dec *s, struct xz_buf *b)
 | 
				
			||||||
			s->temp.size = STREAM_HEADER_SIZE;
 | 
								s->temp.size = STREAM_HEADER_SIZE;
 | 
				
			||||||
			s->sequence = SEQ_STREAM_FOOTER;
 | 
								s->sequence = SEQ_STREAM_FOOTER;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			fallthrough;
 | 
								/* fall through */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		case SEQ_STREAM_FOOTER:
 | 
							case SEQ_STREAM_FOOTER:
 | 
				
			||||||
			if (!fill_temp(s, b))
 | 
								if (!fill_temp(s, b))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -259,15 +259,15 @@ ZSTD_STATIC size_t BIT_initDStream(BIT_DStream_t *bitD, const void *srcBuffer, s
 | 
				
			||||||
		bitD->bitContainer = *(const BYTE *)(bitD->start);
 | 
							bitD->bitContainer = *(const BYTE *)(bitD->start);
 | 
				
			||||||
		switch (srcSize) {
 | 
							switch (srcSize) {
 | 
				
			||||||
		case 7: bitD->bitContainer += (size_t)(((const BYTE *)(srcBuffer))[6]) << (sizeof(bitD->bitContainer) * 8 - 16);
 | 
							case 7: bitD->bitContainer += (size_t)(((const BYTE *)(srcBuffer))[6]) << (sizeof(bitD->bitContainer) * 8 - 16);
 | 
				
			||||||
			fallthrough;
 | 
								/* fall through */
 | 
				
			||||||
		case 6: bitD->bitContainer += (size_t)(((const BYTE *)(srcBuffer))[5]) << (sizeof(bitD->bitContainer) * 8 - 24);
 | 
							case 6: bitD->bitContainer += (size_t)(((const BYTE *)(srcBuffer))[5]) << (sizeof(bitD->bitContainer) * 8 - 24);
 | 
				
			||||||
			fallthrough;
 | 
								/* fall through */
 | 
				
			||||||
		case 5: bitD->bitContainer += (size_t)(((const BYTE *)(srcBuffer))[4]) << (sizeof(bitD->bitContainer) * 8 - 32);
 | 
							case 5: bitD->bitContainer += (size_t)(((const BYTE *)(srcBuffer))[4]) << (sizeof(bitD->bitContainer) * 8 - 32);
 | 
				
			||||||
			fallthrough;
 | 
								/* fall through */
 | 
				
			||||||
		case 4: bitD->bitContainer += (size_t)(((const BYTE *)(srcBuffer))[3]) << 24;
 | 
							case 4: bitD->bitContainer += (size_t)(((const BYTE *)(srcBuffer))[3]) << 24;
 | 
				
			||||||
			fallthrough;
 | 
								/* fall through */
 | 
				
			||||||
		case 3: bitD->bitContainer += (size_t)(((const BYTE *)(srcBuffer))[2]) << 16;
 | 
							case 3: bitD->bitContainer += (size_t)(((const BYTE *)(srcBuffer))[2]) << 16;
 | 
				
			||||||
			fallthrough;
 | 
								/* fall through */
 | 
				
			||||||
		case 2: bitD->bitContainer += (size_t)(((const BYTE *)(srcBuffer))[1]) << 8;
 | 
							case 2: bitD->bitContainer += (size_t)(((const BYTE *)(srcBuffer))[1]) << 8;
 | 
				
			||||||
		default:;
 | 
							default:;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -3182,7 +3182,7 @@ static size_t ZSTD_compressStream_generic(ZSTD_CStream *zcs, void *dst, size_t *
 | 
				
			||||||
				zcs->outBuffFlushedSize = 0;
 | 
									zcs->outBuffFlushedSize = 0;
 | 
				
			||||||
				zcs->stage = zcss_flush; /* pass-through to flush stage */
 | 
									zcs->stage = zcss_flush; /* pass-through to flush stage */
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			fallthrough;
 | 
								/* fall through */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		case zcss_flush: {
 | 
							case zcss_flush: {
 | 
				
			||||||
			size_t const toFlush = zcs->outBuffContentSize - zcs->outBuffFlushedSize;
 | 
								size_t const toFlush = zcs->outBuffContentSize - zcs->outBuffFlushedSize;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -442,7 +442,7 @@ size_t ZSTD_decodeLiteralsBlock(ZSTD_DCtx *dctx, const void *src, size_t srcSize
 | 
				
			||||||
		case set_repeat:
 | 
							case set_repeat:
 | 
				
			||||||
			if (dctx->litEntropy == 0)
 | 
								if (dctx->litEntropy == 0)
 | 
				
			||||||
				return ERROR(dictionary_corrupted);
 | 
									return ERROR(dictionary_corrupted);
 | 
				
			||||||
			fallthrough;
 | 
								/* fall through */
 | 
				
			||||||
		case set_compressed:
 | 
							case set_compressed:
 | 
				
			||||||
			if (srcSize < 5)
 | 
								if (srcSize < 5)
 | 
				
			||||||
				return ERROR(corruption_detected); /* srcSize >= MIN_CBLOCK_SIZE == 3; here we need up to 5 for case 3 */
 | 
									return ERROR(corruption_detected); /* srcSize >= MIN_CBLOCK_SIZE == 3; here we need up to 5 for case 3 */
 | 
				
			||||||
| 
						 | 
					@ -1768,7 +1768,7 @@ size_t ZSTD_decompressContinue(ZSTD_DCtx *dctx, void *dst, size_t dstCapacity, c
 | 
				
			||||||
			return 0;
 | 
								return 0;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		dctx->expected = 0; /* not necessary to copy more */
 | 
							dctx->expected = 0; /* not necessary to copy more */
 | 
				
			||||||
		fallthrough;
 | 
							/* fall through */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	case ZSTDds_decodeFrameHeader:
 | 
						case ZSTDds_decodeFrameHeader:
 | 
				
			||||||
		memcpy(dctx->headerBuffer + ZSTD_frameHeaderSize_prefix, src, dctx->expected);
 | 
							memcpy(dctx->headerBuffer + ZSTD_frameHeaderSize_prefix, src, dctx->expected);
 | 
				
			||||||
| 
						 | 
					@ -2309,7 +2309,7 @@ size_t ZSTD_decompressStream(ZSTD_DStream *zds, ZSTD_outBuffer *output, ZSTD_inB
 | 
				
			||||||
		switch (zds->stage) {
 | 
							switch (zds->stage) {
 | 
				
			||||||
		case zdss_init:
 | 
							case zdss_init:
 | 
				
			||||||
			ZSTD_resetDStream(zds); /* transparent reset on starting decoding a new frame */
 | 
								ZSTD_resetDStream(zds); /* transparent reset on starting decoding a new frame */
 | 
				
			||||||
			fallthrough;
 | 
								/* fall through */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		case zdss_loadHeader: {
 | 
							case zdss_loadHeader: {
 | 
				
			||||||
			size_t const hSize = ZSTD_getFrameParams(&zds->fParams, zds->headerBuffer, zds->lhSize);
 | 
								size_t const hSize = ZSTD_getFrameParams(&zds->fParams, zds->headerBuffer, zds->lhSize);
 | 
				
			||||||
| 
						 | 
					@ -2376,7 +2376,7 @@ size_t ZSTD_decompressStream(ZSTD_DStream *zds, ZSTD_outBuffer *output, ZSTD_inB
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			zds->stage = zdss_read;
 | 
								zds->stage = zdss_read;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
			fallthrough;
 | 
								/* fall through */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		case zdss_read: {
 | 
							case zdss_read: {
 | 
				
			||||||
			size_t const neededInSize = ZSTD_nextSrcSizeToDecompress(zds->dctx);
 | 
								size_t const neededInSize = ZSTD_nextSrcSizeToDecompress(zds->dctx);
 | 
				
			||||||
| 
						 | 
					@ -2405,7 +2405,7 @@ size_t ZSTD_decompressStream(ZSTD_DStream *zds, ZSTD_outBuffer *output, ZSTD_inB
 | 
				
			||||||
			zds->stage = zdss_load;
 | 
								zds->stage = zdss_load;
 | 
				
			||||||
			/* pass-through */
 | 
								/* pass-through */
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
			fallthrough;
 | 
								/* fall through */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		case zdss_load: {
 | 
							case zdss_load: {
 | 
				
			||||||
			size_t const neededInSize = ZSTD_nextSrcSizeToDecompress(zds->dctx);
 | 
								size_t const neededInSize = ZSTD_nextSrcSizeToDecompress(zds->dctx);
 | 
				
			||||||
| 
						 | 
					@ -2438,7 +2438,7 @@ size_t ZSTD_decompressStream(ZSTD_DStream *zds, ZSTD_outBuffer *output, ZSTD_inB
 | 
				
			||||||
				/* pass-through */
 | 
									/* pass-through */
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
			fallthrough;
 | 
								/* fall through */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		case zdss_flush: {
 | 
							case zdss_flush: {
 | 
				
			||||||
			size_t const toFlushSize = zds->outEnd - zds->outStart;
 | 
								size_t const toFlushSize = zds->outEnd - zds->outStart;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -556,9 +556,9 @@ size_t HUF_compress1X_usingCTable(void *dst, size_t dstSize, const void *src, si
 | 
				
			||||||
	n = srcSize & ~3; /* join to mod 4 */
 | 
						n = srcSize & ~3; /* join to mod 4 */
 | 
				
			||||||
	switch (srcSize & 3) {
 | 
						switch (srcSize & 3) {
 | 
				
			||||||
	case 3: HUF_encodeSymbol(&bitC, ip[n + 2], CTable); HUF_FLUSHBITS_2(&bitC);
 | 
						case 3: HUF_encodeSymbol(&bitC, ip[n + 2], CTable); HUF_FLUSHBITS_2(&bitC);
 | 
				
			||||||
		fallthrough;
 | 
							/* fall through */
 | 
				
			||||||
	case 2: HUF_encodeSymbol(&bitC, ip[n + 1], CTable); HUF_FLUSHBITS_1(&bitC);
 | 
						case 2: HUF_encodeSymbol(&bitC, ip[n + 1], CTable); HUF_FLUSHBITS_1(&bitC);
 | 
				
			||||||
		fallthrough;
 | 
							/* fall through */
 | 
				
			||||||
	case 1: HUF_encodeSymbol(&bitC, ip[n + 0], CTable); HUF_FLUSHBITS(&bitC);
 | 
						case 1: HUF_encodeSymbol(&bitC, ip[n + 0], CTable); HUF_FLUSHBITS(&bitC);
 | 
				
			||||||
	case 0:
 | 
						case 0:
 | 
				
			||||||
	default:;
 | 
						default:;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue