diff --git a/Aaru.Archives/Zoo/Files.cs b/Aaru.Archives/Zoo/Files.cs index a8a85cf38..e821fe2aa 100644 --- a/Aaru.Archives/Zoo/Files.cs +++ b/Aaru.Archives/Zoo/Files.cs @@ -107,7 +107,7 @@ public sealed partial class Zoo /// public ErrorNumber GetAttributes(int entryNumber, out FileAttributes attributes) { - // TODO: Decode them + // DOS version of ZOO ignores the attributes, so we just say it's a file attributes = FileAttributes.None; if(!Opened) return ErrorNumber.NotOpened; @@ -162,6 +162,9 @@ public sealed partial class Zoo LastWriteTimeUtc = DateHandlers.DosToDateTime(entry.date, entry.time) // TODO: Handle tz, when not 127 }; + // POSIX permissions, DOS version of ZOO basically ignored the attributes + if((entry.fattr & 1 << 22) > 0) stat.Mode = entry.fattr & 0x1ff; + return ErrorNumber.NoError; }