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