diff options
| author | Josh Wolfe <thejoshwolfe@gmail.com> | 2017-11-20 21:36:18 -0700 |
|---|---|---|
| committer | Josh Wolfe <thejoshwolfe@gmail.com> | 2017-11-20 23:26:45 -0700 |
| commit | afbbdb2c67127985cadae7244348665ece8b2f25 (patch) | |
| tree | b1bcbbc82d1214171ec84978de9a6e4df8e4da2c /std/os | |
| parent | a44283b0b2e585d7e15d7c8e6574411b75c12a0a (diff) | |
| download | zig-afbbdb2c67127985cadae7244348665ece8b2f25.tar.gz zig-afbbdb2c67127985cadae7244348665ece8b2f25.zip | |
move base64 functions into structs
Diffstat (limited to 'std/os')
| -rw-r--r-- | std/os/index.zig | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/std/os/index.zig b/std/os/index.zig index 872564224c..e6a5fc4d15 100644 --- a/std/os/index.zig +++ b/std/os/index.zig @@ -622,7 +622,9 @@ pub fn symLinkPosix(allocator: &Allocator, existing_path: []const u8, new_path: } // here we replace the standard +/ with -_ so that it can be used in a file name -const b64_fs_alphabet_chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"; +const b64_fs_encoder = base64.Base64Encoder.init( + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_", + base64.standard_pad_char); pub fn atomicSymLink(allocator: &Allocator, existing_path: []const u8, new_path: []const u8) -> %void { if (symLink(allocator, existing_path, new_path)) { @@ -634,12 +636,12 @@ pub fn atomicSymLink(allocator: &Allocator, existing_path: []const u8, new_path: } var rand_buf: [12]u8 = undefined; - const tmp_path = %return allocator.alloc(u8, new_path.len + base64.calcEncodedSize(rand_buf.len)); + const tmp_path = %return allocator.alloc(u8, new_path.len + base64.Base64Encoder.calcSize(rand_buf.len)); defer allocator.free(tmp_path); mem.copy(u8, tmp_path[0..], new_path); while (true) { %return getRandomBytes(rand_buf[0..]); - base64.encode(tmp_path[new_path.len..], rand_buf, b64_fs_alphabet_chars, base64.standard_pad_char); + b64_fs_encoder.encode(tmp_path[new_path.len..], rand_buf); if (symLink(allocator, existing_path, tmp_path)) { return rename(allocator, tmp_path, new_path); } else |err| { @@ -717,11 +719,11 @@ pub fn copyFile(allocator: &Allocator, source_path: []const u8, dest_path: []con /// Guaranteed to be atomic. pub fn copyFileMode(allocator: &Allocator, source_path: []const u8, dest_path: []const u8, mode: usize) -> %void { var rand_buf: [12]u8 = undefined; - const tmp_path = %return allocator.alloc(u8, dest_path.len + base64.calcEncodedSize(rand_buf.len)); + const tmp_path = %return allocator.alloc(u8, dest_path.len + base64.Base64Encoder.calcSize(rand_buf.len)); defer allocator.free(tmp_path); mem.copy(u8, tmp_path[0..], dest_path); %return getRandomBytes(rand_buf[0..]); - base64.encode(tmp_path[dest_path.len..], rand_buf, b64_fs_alphabet_chars, base64.standard_pad_char); + b64_fs_encoder.encode(tmp_path[dest_path.len..], rand_buf); var out_file = %return io.File.openWriteMode(tmp_path, mode, allocator); defer out_file.close(); |
