| ... | ... | @@ -118,22 +118,6 @@ pub const Base64Encoder = struct { |
| 118 | 118 | } |
| 119 | 119 | } |
| 120 | 120 | |
| 121 | | // destWriter must be compatible with std.io.GenericWriter's writeAll interface |
| 122 | | // sourceReader must be compatible with `std.io.GenericReader` read interface |
| 123 | | pub fn encodeFromReaderToWriter(encoder: *const Base64Encoder, destWriter: anytype, sourceReader: anytype) !void { |
| 124 | | while (true) { |
| 125 | | var tempSource: [3]u8 = undefined; |
| 126 | | const bytesRead = try sourceReader.read(&tempSource); |
| 127 | | if (bytesRead == 0) { |
| 128 | | break; |
| 129 | | } |
| 130 | | |
| 131 | | var temp: [5]u8 = undefined; |
| 132 | | const s = encoder.encode(&temp, tempSource[0..bytesRead]); |
| 133 | | try destWriter.writeAll(s); |
| 134 | | } |
| 135 | | } |
| 136 | | |
| 137 | 121 | /// dest.len must at least be what you get from ::calcSize. |
| 138 | 122 | pub fn encode(encoder: *const Base64Encoder, dest: []u8, source: []const u8) []const u8 { |
| 139 | 123 | const out_len = encoder.calcSize(source.len); |
| ... | ... | @@ -525,14 +509,6 @@ fn testAllApis(codecs: Codecs, expected_decoded: []const u8, expected_encoded: [ |
| 525 | 509 | try codecs.Encoder.encodeWriter(&writer, expected_decoded); |
| 526 | 510 | try testing.expectEqualSlices(u8, expected_encoded, writer.buffered()); |
| 527 | 511 | } |
| 528 | | { |
| 529 | | // reader to writer encode |
| 530 | | var stream: std.Io.Reader = .fixed(expected_decoded); |
| 531 | | var buffer: [0x100]u8 = undefined; |
| 532 | | var writer: std.Io.Writer = .fixed(&buffer); |
| 533 | | try codecs.Encoder.encodeFromReaderToWriter(&writer, &stream); |
| 534 | | try testing.expectEqualSlices(u8, expected_encoded, writer.buffered()); |
| 535 | | } |
| 536 | 512 | |
| 537 | 513 | // Base64Decoder |
| 538 | 514 | { |