Skip to content

Latest commit

 

History

History
28 lines (19 loc) · 737 Bytes

README.md

File metadata and controls

28 lines (19 loc) · 737 Bytes

uuencode

A uuencode implementation for Zig.

This is both a package as well as a command line utility.

API

Include src/uuencode.zig as a package.

// encoders:
pub fn encodeFile(writer: anytype, file_name: []const u8, mode: ?std.fs.File.Mode, data: []const u8) !void;
pub fn encodeLine(writer: anytype, data: []const u8) !void;

// decoders:
pub fn decodeLine(reader: anytype, buffer: *[45]u8) ![]u8;
pub fn decodeFile(reader: anytype) !Decoder; // not implemented yet

// primitive functions:
pub fn encodeBlock(block: [3]u8) [4]u8;
pub fn decodeBlock(encoded: [4]u8) error{IllegalCharacter}![3]u8;

Tasks

  • Create command line tooling
  • Implement decodeFile