| ... | @@ -118,22 +118,6 @@ pub const Base64Encoder = struct { | ... | @@ -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 | /// dest.len must at least be what you get from ::calcSize. | 121 | /// dest.len must at least be what you get from ::calcSize. |
| 138 | pub fn encode(encoder: *const Base64Encoder, dest: []u8, source: []const u8) []const u8 { | 122 | pub fn encode(encoder: *const Base64Encoder, dest: []u8, source: []const u8) []const u8 { |
| 139 | const out_len = encoder.calcSize(source.len); | 123 | const out_len = encoder.calcSize(source.len); |
| ... | @@ -525,14 +509,6 @@ fn testAllApis(codecs: Codecs, expected_decoded: []const u8, expected_encoded: [ | ... | @@ -525,14 +509,6 @@ fn testAllApis(codecs: Codecs, expected_decoded: []const u8, expected_encoded: [ |
| 525 | try codecs.Encoder.encodeWriter(&writer, expected_decoded); | 509 | try codecs.Encoder.encodeWriter(&writer, expected_decoded); |
| 526 | try testing.expectEqualSlices(u8, expected_encoded, writer.buffered()); | 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 | // Base64Decoder | 513 | // Base64Decoder |
| 538 | { | 514 | { |