• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 		if (slen-- == 0) {
2 			break;
3 		}
4 		*o++ = base64_table_enc_6bit[*s >> 2];
5 		st.carry = (*s++ << 4) & 0x30;
6 		st.bytes++;
7 		olen += 1;
8 
9 		// Deliberate fallthrough:
10 		BASE64_FALLTHROUGH
11 
12 	case 1:	if (slen-- == 0) {
13 			break;
14 		}
15 		*o++ = base64_table_enc_6bit[st.carry | (*s >> 4)];
16 		st.carry = (*s++ << 2) & 0x3C;
17 		st.bytes++;
18 		olen += 1;
19 
20 		// Deliberate fallthrough:
21 		BASE64_FALLTHROUGH
22 
23 	case 2:	if (slen-- == 0) {
24 			break;
25 		}
26 		*o++ = base64_table_enc_6bit[st.carry | (*s >> 6)];
27 		*o++ = base64_table_enc_6bit[*s++ & 0x3F];
28 		st.bytes = 0;
29 		olen += 2;
30 	}
31 }
32 state->bytes = st.bytes;
33 state->carry = st.carry;
34 *outlen = olen;
35