| ... | @@ -215,8 +215,8 @@ fn parseTableOfContents(self: *Archive, allocator: *Allocator, reader: anytype) | ... | @@ -215,8 +215,8 @@ fn parseTableOfContents(self: *Archive, allocator: *Allocator, reader: anytype) |
| 215 | } | 215 | } |
| 216 | } | 216 | } |
| 217 | | 217 | |
| 218 | pub fn extractObject(self: Archive, allocator: *Allocator, offset: u32) !Object { | 218 | pub fn parseObject(self: Archive, allocator: *Allocator, arch: Arch, offset: u32) !Object { |
| 219 | var reader = self.file.reader(); | 219 | const reader = self.file.reader(); |
| 220 | try reader.context.seekTo(offset + self.library_offset); | 220 | try reader.context.seekTo(offset + self.library_offset); |
| 221 | | 221 | |
| 222 | const object_header = try reader.readStruct(ar_hdr); | 222 | const object_header = try reader.readStruct(ar_hdr); |
| ... | @@ -244,6 +244,7 @@ pub fn extractObject(self: Archive, allocator: *Allocator, offset: u32) !Object | ... | @@ -244,6 +244,7 @@ pub fn extractObject(self: Archive, allocator: *Allocator, offset: u32) !Object |
| 244 | .mtime = try self.header.?.date(), | 244 | .mtime = try self.header.?.date(), |
| 245 | }; | 245 | }; |
| 246 | | 246 | |
| | 247 | try object.parse(allocator, arch); |
| 247 | try reader.context.seekTo(0); | 248 | try reader.context.seekTo(0); |
| 248 | | 249 | |
| 249 | return object; | 250 | return object; |