From 6d3bc46fbc374ce84569c6d906c36c30e196fff1 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Thu, 8 Mar 2018 06:06:14 -0800 Subject: code review: switch case breaks. * arith.c (c_unum): Add fallthrough comment. (minus): Add missing break after case that handles char minus heap object.. This luckily isn't a bug because type(anum) isn't RNG, and so when it falls through, the next case also falls through. * lib.c (car): Add missing fallthrough comment. --- arith.c | 3 +++ lib.c | 1 + 2 files changed, 4 insertions(+) diff --git a/arith.c b/arith.c index c9c1bf3e..f0c7e168 100644 --- a/arith.c +++ b/arith.c @@ -174,6 +174,7 @@ ucnum c_unum(val num) mp_get_uintptr(mp(num), &out); return out; } + /* fallthrough */ range: uw_throwf(error_s, lit("~s given, non-negative expected"), num, nao); default: @@ -680,9 +681,11 @@ tail: case TAG_PAIR(TAG_CHR, TAG_PTR): if (type(bnum) == RNG) return rcons(minus(anum, from(bnum)), minus(anum, to(bnum))); + break; case TAG_PAIR(TAG_PTR, TAG_CHR): if (type(anum) == RNG) return rcons(minus(from(anum), bnum), minus(to(anum), bnum)); + break; } uw_throwf(error_s, lit("-: invalid operands ~s ~s"), anum, bnum, nao); } diff --git a/lib.c b/lib.c index 5061609c..c1329346 100644 --- a/lib.c +++ b/lib.c @@ -392,6 +392,7 @@ val car(val cons) return funcall2(lambda_meth, cons, zero); } } + /* fallthrough */ default: type_mismatch(lit("car: ~s is not a cons"), cons, nao); } -- cgit v1.2.3