Skip to content

Commit df9d1bb

Browse files
committed
Simplify case statement and avoid drop thru
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/codec/trunk@674288 13f79535-47bb-0310-9956-ffa450edef68
1 parent 1b5b070 commit df9d1bb

1 file changed

Lines changed: 9 additions & 10 deletions

File tree

src/java/org/apache/commons/codec/binary/Base64.java

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -423,21 +423,20 @@ void decode(byte[] in, int inPos, int inAvail) {
423423
}
424424
byte b = in[inPos++];
425425
if (b == PAD) {
426-
modulus = (++modulus) % 4;
427426
x = x << 6;
428427
switch (modulus) {
429-
case 3:
428+
case 2:
430429
x = x << 6;
431-
case 0:
432430
buf[pos++] = (byte) ((x >> 16) & MASK_8BITS);
433-
if (modulus == 0) {
434-
buf[pos++] = (byte) ((x >> 8) & MASK_8BITS);
435-
}
436-
default:
437-
// WE'RE DONE!!!!
438-
eof = true;
439-
return;
431+
break;
432+
case 3:
433+
buf[pos++] = (byte) ((x >> 16) & MASK_8BITS);
434+
buf[pos++] = (byte) ((x >> 8) & MASK_8BITS);
435+
break;
440436
}
437+
// WE'RE DONE!!!!
438+
eof = true;
439+
return;
441440
} else {
442441
if (b >= 0 && b < base64ToInt.length) {
443442
int result = base64ToInt[b];

0 commit comments

Comments
 (0)