authorgravatar for igor.anic@gmail.comIgor Anić <igor.anic@gmail.com> 2023-12-11 20:46:27+01:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2024-01-13 19:37:33-07:00
logc76abe0e183ef513b9ee651b052c7f99c33c139c
treeeebf20bdc48c97eaf308a7f60efe119a6fe29ae0
parent4a6d67ab1a26e0c89d55453877c1fd8b03ab1976

tar: use file word in less places


1 files changed, 26 insertions(+), 26 deletions(-)

lib/std/tar.zig+26-26
...@@ -58,7 +58,7 @@ pub const Options = struct {...@@ -58,7 +58,7 @@ pub const Options = struct {
58 },58 },
59 unsupported_file_type: struct {59 unsupported_file_type: struct {
60 file_name: []const u8,60 file_name: []const u8,
61 file_type: Header.FileType,61 file_type: Header.Kind,
62 },62 },
63 };63 };
6464
...@@ -90,7 +90,7 @@ pub const Header = struct {...@@ -90,7 +90,7 @@ pub const Header = struct {
9090
91 bytes: *const [SIZE]u8,91 bytes: *const [SIZE]u8,
9292
93 pub const FileType = enum(u8) {93 pub const Kind = enum(u8) {
94 normal_alias = 0,94 normal_alias = 0,
95 normal = '0',95 normal = '0',
96 hard_link = '1',96 hard_link = '1',
...@@ -142,7 +142,7 @@ pub const Header = struct {...@@ -142,7 +142,7 @@ pub const Header = struct {
142 return @intCast(try header.numeric(100, 8));142 return @intCast(try header.numeric(100, 8));
143 }143 }
144144
145 pub fn fileSize(header: Header) !u64 {145 pub fn size(header: Header) !u64 {
146 return header.numeric(124, 12);146 return header.numeric(124, 12);
147 }147 }
148148
...@@ -159,8 +159,8 @@ pub const Header = struct {...@@ -159,8 +159,8 @@ pub const Header = struct {
159 return header.str(345, 155);159 return header.str(345, 155);
160 }160 }
161161
162 pub fn fileType(header: Header) FileType {162 pub fn kind(header: Header) Kind {
163 const result: FileType = @enumFromInt(header.bytes[156]);163 const result: Kind = @enumFromInt(header.bytes[156]);
164 if (result == .normal_alias) return .normal;164 if (result == .normal_alias) return .normal;
165 return result;165 return result;
166 }166 }
...@@ -242,7 +242,7 @@ pub fn pipeToFileSystem(dir: std.fs.Dir, reader: anytype, options: Options) !voi...@@ -242,7 +242,7 @@ pub fn pipeToFileSystem(dir: std.fs.Dir, reader: anytype, options: Options) !voi
242 var iter = tarReader(reader, options.diagnostics);242 var iter = tarReader(reader, options.diagnostics);
243243
244 while (try iter.next()) |file| {244 while (try iter.next()) |file| {
245 switch (file.file_type) {245 switch (file.kind) {
246 .directory => {246 .directory => {
247 const file_name = try stripComponents(file.name, options.strip_components);247 const file_name = try stripComponents(file.name, options.strip_components);
248 if (file_name.len != 0 and !options.exclude_empty_directories) {248 if (file_name.len != 0 and !options.exclude_empty_directories) {
...@@ -339,7 +339,7 @@ test "tar run Go test cases" {...@@ -339,7 +339,7 @@ test "tar run Go test cases" {
339 size: usize = 0,339 size: usize = 0,
340 mode: u32 = 0,340 mode: u32 = 0,
341 link_name: []const u8 = &[0]u8{},341 link_name: []const u8 = &[0]u8{},
342 file_type: Header.FileType = .normal,342 kind: Header.Kind = .normal,
343 truncated: bool = false, // when there is no file body, just header, usefull for huge files343 truncated: bool = false, // when there is no file body, just header, usefull for huge files
344 };344 };
345345
...@@ -376,7 +376,7 @@ test "tar run Go test cases" {...@@ -376,7 +376,7 @@ test "tar run Go test cases" {
376 },376 },
377 .{377 .{
378 .path = "sparse-formats.tar",378 .path = "sparse-formats.tar",
379 .err = error.TarUnsupportedFileType,379 .err = error.TarUnsupportedHeader,
380 },380 },
381 .{381 .{
382 .path = "star.tar",382 .path = "star.tar",
...@@ -427,7 +427,7 @@ test "tar run Go test cases" {...@@ -427,7 +427,7 @@ test "tar run Go test cases" {
427 .{427 .{
428 .name = "a/b",428 .name = "a/b",
429 .size = 0,429 .size = 0,
430 .file_type = .symbolic_link,430 .kind = .symbolic_link,
431 .mode = 0o777,431 .mode = 0o777,
432 .link_name = "123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100",432 .link_name = "123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100",
433 },433 },
...@@ -448,7 +448,7 @@ test "tar run Go test cases" {...@@ -448,7 +448,7 @@ test "tar run Go test cases" {
448 .{448 .{
449 .name = "foo",449 .name = "foo",
450 .size = 999,450 .size = 999,
451 .file_type = .normal,451 .kind = .normal,
452 .mode = 0o640,452 .mode = 0o640,
453 },453 },
454 },454 },
...@@ -489,7 +489,7 @@ test "tar run Go test cases" {...@@ -489,7 +489,7 @@ test "tar run Go test cases" {
489 .{489 .{
490 .name = "P1050238.JPG.log",490 .name = "P1050238.JPG.log",
491 .size = 14,491 .size = 14,
492 .file_type = .normal,492 .kind = .normal,
493 .mode = 0o664,493 .mode = 0o664,
494 },494 },
495 },495 },
...@@ -504,13 +504,13 @@ test "tar run Go test cases" {...@@ -504,13 +504,13 @@ test "tar run Go test cases" {
504 .{504 .{
505 .name = "small.txt",505 .name = "small.txt",
506 .size = 5,506 .size = 5,
507 .file_type = .normal,507 .kind = .normal,
508 .mode = 0o644,508 .mode = 0o644,
509 },509 },
510 .{510 .{
511 .name = "small2.txt",511 .name = "small2.txt",
512 .size = 11,512 .size = 11,
513 .file_type = .normal,513 .kind = .normal,
514 .mode = 0o644,514 .mode = 0o644,
515 },515 },
516 },516 },
...@@ -525,14 +525,14 @@ test "tar run Go test cases" {...@@ -525,14 +525,14 @@ test "tar run Go test cases" {
525 .{525 .{
526 .name = "GNU2/GNU2/long-path-name",526 .name = "GNU2/GNU2/long-path-name",
527 .link_name = "GNU4/GNU4/long-linkpath-name",527 .link_name = "GNU4/GNU4/long-linkpath-name",
528 .file_type = .symbolic_link,528 .kind = .symbolic_link,
529 },529 },
530 },530 },
531 },531 },
532 .{532 .{
533 // has gnu type D (directory) and S (sparse) blocks533 // has gnu type D (directory) and S (sparse) blocks
534 .path = "gnu-incremental.tar",534 .path = "gnu-incremental.tar",
535 .err = error.TarUnsupportedFileType,535 .err = error.TarUnsupportedHeader,
536 },536 },
537 .{537 .{
538 // should use values only from last pax header538 // should use values only from last pax header
...@@ -541,7 +541,7 @@ test "tar run Go test cases" {...@@ -541,7 +541,7 @@ test "tar run Go test cases" {
541 .{541 .{
542 .name = "bar",542 .name = "bar",
543 .link_name = "PAX4/PAX4/long-linkpath-name",543 .link_name = "PAX4/PAX4/long-linkpath-name",
544 .file_type = .symbolic_link,544 .kind = .symbolic_link,
545 },545 },
546 },546 },
547 },547 },
...@@ -620,7 +620,7 @@ test "tar run Go test cases" {...@@ -620,7 +620,7 @@ test "tar run Go test cases" {
620 .files = &[_]Case.File{620 .files = &[_]Case.File{
621 .{621 .{
622 .name = "123456789/" ** 30,622 .name = "123456789/" ** 30,
623 .file_type = .directory,623 .kind = .directory,
624 },624 },
625 },625 },
626 },626 },
...@@ -668,7 +668,7 @@ test "tar run Go test cases" {...@@ -668,7 +668,7 @@ test "tar run Go test cases" {
668 const expected = case.files[i];668 const expected = case.files[i];
669 try std.testing.expectEqualStrings(expected.name, actual.name);669 try std.testing.expectEqualStrings(expected.name, actual.name);
670 try std.testing.expectEqual(expected.size, actual.size);670 try std.testing.expectEqual(expected.size, actual.size);
671 try std.testing.expectEqual(expected.file_type, actual.file_type);671 try std.testing.expectEqual(expected.kind, actual.kind);
672 try std.testing.expectEqual(expected.mode, actual.mode);672 try std.testing.expectEqual(expected.mode, actual.mode);
673 try std.testing.expectEqualStrings(expected.link_name, actual.link_name);673 try std.testing.expectEqualStrings(expected.link_name, actual.link_name);
674674
...@@ -955,7 +955,7 @@ fn TarReader(comptime ReaderType: type) type {...@@ -955,7 +955,7 @@ fn TarReader(comptime ReaderType: type) type {
955 link_name: []const u8, // target name of symlink955 link_name: []const u8, // target name of symlink
956 size: usize, // size of the file in bytes956 size: usize, // size of the file in bytes
957 mode: u32,957 mode: u32,
958 file_type: Header.FileType,958 kind: Header.Kind,
959959
960 reader: ReaderType,960 reader: ReaderType,
961961
...@@ -1004,7 +1004,7 @@ fn TarReader(comptime ReaderType: type) type {...@@ -1004,7 +1004,7 @@ fn TarReader(comptime ReaderType: type) type {
1004 .name = self.file_name_buffer[0..0],1004 .name = self.file_name_buffer[0..0],
1005 .link_name = self.link_name_buffer[0..0],1005 .link_name = self.link_name_buffer[0..0],
1006 .size = 0,1006 .size = 0,
1007 .file_type = .normal,1007 .kind = .normal,
1008 .mode = 0,1008 .mode = 0,
1009 .reader = self.reader,1009 .reader = self.reader,
1010 };1010 };
...@@ -1026,14 +1026,14 @@ fn TarReader(comptime ReaderType: type) type {...@@ -1026,14 +1026,14 @@ fn TarReader(comptime ReaderType: type) type {
1026 self.initFile();1026 self.initFile();
10271027
1028 while (try self.readHeader()) |header| {1028 while (try self.readHeader()) |header| {
1029 const file_type = header.fileType();1029 const kind = header.kind();
1030 const size: usize = @intCast(try header.fileSize());1030 const size: usize = @intCast(try header.size());
1031 self.padding = blockPadding(size);1031 self.padding = blockPadding(size);
10321032
1033 switch (file_type) {1033 switch (kind) {
1034 // File types to retrun upstream1034 // File types to retrun upstream
1035 .directory, .normal, .symbolic_link => {1035 .directory, .normal, .symbolic_link => {
1036 self.file.file_type = file_type;1036 self.file.kind = kind;
1037 self.file.mode = try header.mode();1037 self.file.mode = try header.mode();
10381038
1039 // set file attributes if not already set by prefix/extended headers1039 // set file attributes if not already set by prefix/extended headers
...@@ -1083,10 +1083,10 @@ fn TarReader(comptime ReaderType: type) type {...@@ -1083,10 +1083,10 @@ fn TarReader(comptime ReaderType: type) type {
1083 },1083 },
1084 // All other are unsupported header types1084 // All other are unsupported header types
1085 else => {1085 else => {
1086 const d = self.diagnostics orelse return error.TarUnsupportedFileType;1086 const d = self.diagnostics orelse return error.TarUnsupportedHeader;
1087 try d.errors.append(d.allocator, .{ .unsupported_file_type = .{1087 try d.errors.append(d.allocator, .{ .unsupported_file_type = .{
1088 .file_name = try d.allocator.dupe(u8, header.name()),1088 .file_name = try d.allocator.dupe(u8, header.name()),
1089 .file_type = file_type,1089 .file_type = kind,
1090 } });1090 } });
1091 },1091 },
1092 }1092 }