| ... | ... | @@ -63,7 +63,7 @@ pub fn atomicSymLink(allocator: *Allocator, existing_path: []const u8, new_path: |
| 63 | 63 | |
| 64 | 64 | const dirname = path.dirname(new_path) orelse "."; |
| 65 | 65 | |
| 66 | | var rand_buf: [12]u8 = undefined; |
| 66 | var rand_buf: [AtomicFile.RANDOM_BYTES]u8 = undefined; |
| 67 | 67 | const tmp_path = try allocator.alloc(u8, dirname.len + 1 + base64.Base64Encoder.calcSize(rand_buf.len)); |
| 68 | 68 | defer allocator.free(tmp_path); |
| 69 | 69 | mem.copy(u8, tmp_path[0..], dirname); |
| ... | ... | @@ -128,13 +128,14 @@ pub const AtomicFile = struct { |
| 128 | 128 | |
| 129 | 129 | const InitError = File.OpenError; |
| 130 | 130 | |
| 131 | | const TMP_PATH_LEN = base64.Base64Encoder.calcSize(12); |
| 131 | const RANDOM_BYTES = 12; |
| 132 | const TMP_PATH_LEN = base64.Base64Encoder.calcSize(RANDOM_BYTES); |
| 132 | 133 | |
| 133 | 134 | /// TODO rename this. Callers should go through Dir API |
| 134 | 135 | pub fn init2(dest_path: []const u8, mode: File.Mode, dir: Dir, close_dir_on_deinit: bool) InitError!AtomicFile { |
| 135 | | var rand_buf: [12]u8 = undefined; |
| 136 | var rand_buf: [RANDOM_BYTES]u8 = undefined; |
| 136 | 137 | var tmp_path_buf: [TMP_PATH_LEN:0]u8 = undefined; |
| 137 | | tmp_path_buf[base64.Base64Encoder.calcSize(12)] = 0; |
| 138 | tmp_path_buf[base64.Base64Encoder.calcSize(RANDOM_BYTES)] = 0; |
| 138 | 139 | |
| 139 | 140 | while (true) { |
| 140 | 141 | try crypto.randomBytes(rand_buf[0..]); |