| ... | ... | @@ -102,7 +102,7 @@ pub fn Base64Writer(comptime WriterType: type) type { |
| 102 | 102 | }; |
| 103 | 103 | } |
| 104 | 104 | |
| 105 | | pub fn flush(self: *Self) !void { |
| 105 | pub fn flush(self: *Self, pad: enum { no_pad, yes_pad }) !void { |
| 106 | 106 | switch (self.buffer.len) { |
| 107 | 107 | else => unreachable, |
| 108 | 108 | 3 => unreachable, |
| ... | ... | @@ -115,8 +115,8 @@ pub fn Base64Writer(comptime WriterType: type) type { |
| 115 | 115 | self.alphabet[p.n0], |
| 116 | 116 | self.alphabet[p.n1], |
| 117 | 117 | self.alphabet[p.n2], |
| 118 | | '=', |
| 119 | 118 | }); |
| 119 | if (pad == .yes_pad) try self.writeAll("="); |
| 120 | 120 | self.buffer.len = 0; |
| 121 | 121 | }, |
| 122 | 122 | 1 => { |
| ... | ... | @@ -127,9 +127,8 @@ pub fn Base64Writer(comptime WriterType: type) type { |
| 127 | 127 | try self.backing_writer.writeAll(&.{ |
| 128 | 128 | self.alphabet[p.n0], |
| 129 | 129 | self.alphabet[p.n1], |
| 130 | | '=', |
| 131 | | '=', |
| 132 | 130 | }); |
| 131 | if (pad == .yes_pad) try self.writeAll("=="); |
| 133 | 132 | self.buffer.len = 0; |
| 134 | 133 | }, |
| 135 | 134 | 0 => {}, |