diff options
Diffstat (limited to 'src/paths.zig')
-rw-r--r-- | src/paths.zig | 62 |
1 files changed, 31 insertions, 31 deletions
diff --git a/src/paths.zig b/src/paths.zig index dd3ace2..abda053 100644 --- a/src/paths.zig +++ b/src/paths.zig @@ -3,18 +3,18 @@ const Allocator = std.mem.Allocator; const ArrayList = std.ArrayList; pub fn formatDosPath(allocator: Allocator, path: []const u8) ![]const u8 { - var result = ArrayList(u8).init(allocator); - defer result.deinit(); + var result = ArrayList(u8){}; + defer result.deinit(allocator); // Convert path to DOS format with uppercase drive letter and backslashes - var converted_path = ArrayList(u8).init(allocator); - defer converted_path.deinit(); + var converted_path = ArrayList(u8){}; + defer converted_path.deinit(allocator); for (path) |ch| { if (ch == '/') { - try converted_path.append('\\'); + try converted_path.append(allocator, '\\'); } else { - try converted_path.append(std.ascii.toUpper(ch)); + try converted_path.append(allocator, std.ascii.toUpper(ch)); } } @@ -26,7 +26,7 @@ pub fn formatDosPath(allocator: Allocator, path: []const u8) ![]const u8 { if (component.len == 0) continue; if (!first) { - try result.append('\\'); + try result.append(allocator, '\\'); } first = false; @@ -34,22 +34,22 @@ pub fn formatDosPath(allocator: Allocator, path: []const u8) ![]const u8 { const short_name = try convertTo83(allocator, component); defer allocator.free(short_name.name); defer allocator.free(short_name.ext); - try result.appendSlice(short_name.name); + try result.appendSlice(allocator, short_name.name); if (short_name.ext.len > 0) { - try result.append('.'); - try result.appendSlice(short_name.ext); + try result.append(allocator, '.'); + try result.appendSlice(allocator, short_name.ext); } } // Ensure it starts with a drive letter if it's an absolute path if (result.items.len == 0 or (result.items.len >= 1 and result.items[0] == '\\')) { - var prefixed = ArrayList(u8).init(allocator); - defer prefixed.deinit(); - try prefixed.appendSlice("C:"); + var prefixed = ArrayList(u8){}; + defer prefixed.deinit(allocator); + try prefixed.appendSlice(allocator, "C:"); if (result.items.len > 0 and result.items[0] != '\\') { - try prefixed.append('\\'); + try prefixed.append(allocator, '\\'); } - try prefixed.appendSlice(result.items); + try prefixed.appendSlice(allocator, result.items); return allocator.dupe(u8, prefixed.items); } @@ -79,48 +79,48 @@ pub fn convertTo83(allocator: Allocator, filename: []const u8) !struct { name: [ } // Clean name part (remove spaces and invalid chars, convert to uppercase) - var clean_name = ArrayList(u8).init(allocator); - defer clean_name.deinit(); + var clean_name = ArrayList(u8){}; + defer clean_name.deinit(allocator); for (name_part) |ch| { if (std.ascii.isAlphanumeric(ch)) { - try clean_name.append(std.ascii.toUpper(ch)); + try clean_name.append(allocator, std.ascii.toUpper(ch)); } else if (ch == '-' or ch == '_') { - try clean_name.append(ch); + try clean_name.append(allocator, ch); } // Skip spaces and other invalid characters } // Clean extension part (max 3 chars, uppercase) - var clean_ext = ArrayList(u8).init(allocator); - defer clean_ext.deinit(); + var clean_ext = ArrayList(u8){}; + defer clean_ext.deinit(allocator); for (ext_part) |ch| { if (clean_ext.items.len >= 3) break; if (std.ascii.isAlphanumeric(ch)) { - try clean_ext.append(std.ascii.toUpper(ch)); + try clean_ext.append(allocator, std.ascii.toUpper(ch)); } } - var name_result = ArrayList(u8).init(allocator); - defer name_result.deinit(); - var ext_result = ArrayList(u8).init(allocator); - defer ext_result.deinit(); + var name_result = ArrayList(u8){}; + defer name_result.deinit(allocator); + var ext_result = ArrayList(u8){}; + defer ext_result.deinit(allocator); // Build 8.3 filename if (clean_name.items.len <= 8 and clean_ext.items.len <= 3) { // Name fits in 8.3, use as-is - try name_result.appendSlice(clean_name.items); - try ext_result.appendSlice(clean_ext.items); + try name_result.appendSlice(allocator, clean_name.items); + try ext_result.appendSlice(allocator, clean_ext.items); } else { // Need to abbreviate with ~1 const max_name_len = if (clean_name.items.len > 6) 6 else clean_name.items.len; - try name_result.appendSlice(clean_name.items[0..max_name_len]); - try name_result.appendSlice("~1"); + try name_result.appendSlice(allocator, clean_name.items[0..max_name_len]); + try name_result.appendSlice(allocator, "~1"); if (clean_ext.items.len > 0) { const max_ext_len = if (clean_ext.items.len > 3) 3 else clean_ext.items.len; - try ext_result.appendSlice(clean_ext.items[0..max_ext_len]); + try ext_result.appendSlice(allocator, clean_ext.items[0..max_ext_len]); } } |