From 9c026741d82b7c5b820c5d71f95c634b458a5bb0 Mon Sep 17 00:00:00 2001 From: des Date: Sun, 8 Aug 2004 23:14:44 +0000 Subject: Use fallthrough to simplify the multiplier logic; optimistically add support for the T multiplier; improve the error message for unrecognized multipliers. --- sbin/bsdlabel/bsdlabel.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) (limited to 'sbin/bsdlabel') diff --git a/sbin/bsdlabel/bsdlabel.c b/sbin/bsdlabel/bsdlabel.c index 9012282..d1d5f02 100644 --- a/sbin/bsdlabel/bsdlabel.c +++ b/sbin/bsdlabel/bsdlabel.c @@ -1152,22 +1152,27 @@ checklabel(struct disklabel *lp) case '%': total_percent += size; break; - case 'k': - case 'K': + case 't': + case 'T': size *= 1024ULL; - break; - case 'm': - case 'M': - size *= 1024ULL * 1024ULL; - break; + /* FALLTHROUGH */ case 'g': case 'G': - size *= 1024ULL * 1024ULL * 1024ULL; + size *= 1024ULL; + /* FALLTHROUGH */ + case 'm': + case 'M': + size *= 1024ULL; + /* FALLTHROUGH */ + case 'k': + case 'K': + size *= 1024ULL; break; case '\0': break; default: - warnx("unknown size specifier '%c' (K/M/G are valid)",part_size_type[i]); + warnx("unknown multiplier prefix '%c' for partition %c (should be K, M, G or T)", + part_size_type[i], i + 'a'); break; } /* don't count %'s yet */ -- cgit v1.1