Branch Coverage

src/panda/encode/base64.cc
Criterion Covered Total %
branch 27 36 75.0


line true false branch
36 1 3 const char* basis = url_mode ? basis64url : basis64;
39 263 4 for (int64_t len = source.length(); len > 0; len -= 3) {
41 260 3 unsigned char c2 = len > 1 ? *str++ : '\0';
44 260 3 if (len > 2) {
48 0 3 } else if (len == 2) {
50 0 0 if (use_pad) *ptr++ = '=';
51 1 2 } else if (use_pad) {
64 263 1 while (str < end) {
69 1048 0 if (uc != INVALID) c[i++] = uc;
70 4 1044 if (str == end) {
71 2 2 if (i < 4) {
72 0 2 if (i < 2) goto thats_it;
73 2 0 if (i == 2) c[2] = EQ;
78 785 259 } while (i < 4);
80 263 0 if (c[0] == EQ || c[1] == EQ) break;
263 0 if (c[0] == EQ || c[1] == EQ) break;
82 3 260 if (c[2] == EQ) break;
84 0 260 if (c[3] == EQ) break;