scripts
This commit is contained in:
@@ -0,0 +1,182 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
|
||||
namespace ICSharpCode.SharpZipLib.Zip
|
||||
{
|
||||
// Token: 0x0200005D RID: 93
|
||||
public class ExtendedUnixData : ITaggedData
|
||||
{
|
||||
// Token: 0x170000D2 RID: 210
|
||||
// (get) Token: 0x0600038D RID: 909 RVA: 0x000125C0 File Offset: 0x000115C0
|
||||
public short TagID
|
||||
{
|
||||
get
|
||||
{
|
||||
return 21589;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600038E RID: 910 RVA: 0x000125C8 File Offset: 0x000115C8
|
||||
public void SetData(byte[] data, int index, int count)
|
||||
{
|
||||
using (MemoryStream memoryStream = new MemoryStream(data, index, count, false))
|
||||
{
|
||||
using (ZipHelperStream zipHelperStream = new ZipHelperStream(memoryStream))
|
||||
{
|
||||
this._flags = (ExtendedUnixData.Flags)zipHelperStream.ReadByte();
|
||||
if ((byte)(this._flags & ExtendedUnixData.Flags.ModificationTime) != 0 && count >= 5)
|
||||
{
|
||||
int num = zipHelperStream.ReadLEInt();
|
||||
this._modificationTime = (new DateTime(1970, 1, 1, 0, 0, 0).ToUniversalTime() + new TimeSpan(0, 0, 0, num, 0)).ToLocalTime();
|
||||
}
|
||||
if ((byte)(this._flags & ExtendedUnixData.Flags.AccessTime) != 0)
|
||||
{
|
||||
int num2 = zipHelperStream.ReadLEInt();
|
||||
this._lastAccessTime = (new DateTime(1970, 1, 1, 0, 0, 0).ToUniversalTime() + new TimeSpan(0, 0, 0, num2, 0)).ToLocalTime();
|
||||
}
|
||||
if ((byte)(this._flags & ExtendedUnixData.Flags.CreateTime) != 0)
|
||||
{
|
||||
int num3 = zipHelperStream.ReadLEInt();
|
||||
this._createTime = (new DateTime(1970, 1, 1, 0, 0, 0).ToUniversalTime() + new TimeSpan(0, 0, 0, num3, 0)).ToLocalTime();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600038F RID: 911 RVA: 0x00012720 File Offset: 0x00011720
|
||||
public byte[] GetData()
|
||||
{
|
||||
byte[] array;
|
||||
using (MemoryStream memoryStream = new MemoryStream())
|
||||
{
|
||||
using (ZipHelperStream zipHelperStream = new ZipHelperStream(memoryStream))
|
||||
{
|
||||
zipHelperStream.IsStreamOwner = false;
|
||||
zipHelperStream.WriteByte((byte)this._flags);
|
||||
if ((byte)(this._flags & ExtendedUnixData.Flags.ModificationTime) != 0)
|
||||
{
|
||||
int num = (int)(this._modificationTime.ToUniversalTime() - new DateTime(1970, 1, 1, 0, 0, 0).ToUniversalTime()).TotalSeconds;
|
||||
zipHelperStream.WriteLEInt(num);
|
||||
}
|
||||
if ((byte)(this._flags & ExtendedUnixData.Flags.AccessTime) != 0)
|
||||
{
|
||||
int num2 = (int)(this._lastAccessTime.ToUniversalTime() - new DateTime(1970, 1, 1, 0, 0, 0).ToUniversalTime()).TotalSeconds;
|
||||
zipHelperStream.WriteLEInt(num2);
|
||||
}
|
||||
if ((byte)(this._flags & ExtendedUnixData.Flags.CreateTime) != 0)
|
||||
{
|
||||
int num3 = (int)(this._createTime.ToUniversalTime() - new DateTime(1970, 1, 1, 0, 0, 0).ToUniversalTime()).TotalSeconds;
|
||||
zipHelperStream.WriteLEInt(num3);
|
||||
}
|
||||
array = memoryStream.ToArray();
|
||||
}
|
||||
}
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x06000390 RID: 912 RVA: 0x00012874 File Offset: 0x00011874
|
||||
public static bool IsValidValue(DateTime value)
|
||||
{
|
||||
return value >= new DateTime(1901, 12, 13, 20, 45, 52) || value <= new DateTime(2038, 1, 19, 3, 14, 7);
|
||||
}
|
||||
|
||||
// Token: 0x170000D3 RID: 211
|
||||
// (get) Token: 0x06000391 RID: 913 RVA: 0x000128AB File Offset: 0x000118AB
|
||||
// (set) Token: 0x06000392 RID: 914 RVA: 0x000128B3 File Offset: 0x000118B3
|
||||
public DateTime ModificationTime
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._modificationTime;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (!ExtendedUnixData.IsValidValue(value))
|
||||
{
|
||||
throw new ArgumentOutOfRangeException("value");
|
||||
}
|
||||
this._flags |= ExtendedUnixData.Flags.ModificationTime;
|
||||
this._modificationTime = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x170000D4 RID: 212
|
||||
// (get) Token: 0x06000393 RID: 915 RVA: 0x000128DE File Offset: 0x000118DE
|
||||
// (set) Token: 0x06000394 RID: 916 RVA: 0x000128E6 File Offset: 0x000118E6
|
||||
public DateTime AccessTime
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._lastAccessTime;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (!ExtendedUnixData.IsValidValue(value))
|
||||
{
|
||||
throw new ArgumentOutOfRangeException("value");
|
||||
}
|
||||
this._flags |= ExtendedUnixData.Flags.AccessTime;
|
||||
this._lastAccessTime = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x170000D5 RID: 213
|
||||
// (get) Token: 0x06000395 RID: 917 RVA: 0x00012911 File Offset: 0x00011911
|
||||
// (set) Token: 0x06000396 RID: 918 RVA: 0x00012919 File Offset: 0x00011919
|
||||
public DateTime CreateTime
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._createTime;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (!ExtendedUnixData.IsValidValue(value))
|
||||
{
|
||||
throw new ArgumentOutOfRangeException("value");
|
||||
}
|
||||
this._flags |= ExtendedUnixData.Flags.CreateTime;
|
||||
this._createTime = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x170000D6 RID: 214
|
||||
// (get) Token: 0x06000397 RID: 919 RVA: 0x00012944 File Offset: 0x00011944
|
||||
// (set) Token: 0x06000398 RID: 920 RVA: 0x0001294C File Offset: 0x0001194C
|
||||
private ExtendedUnixData.Flags Include
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._flags;
|
||||
}
|
||||
set
|
||||
{
|
||||
this._flags = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x040002B0 RID: 688
|
||||
private ExtendedUnixData.Flags _flags;
|
||||
|
||||
// Token: 0x040002B1 RID: 689
|
||||
private DateTime _modificationTime = new DateTime(1970, 1, 1);
|
||||
|
||||
// Token: 0x040002B2 RID: 690
|
||||
private DateTime _lastAccessTime = new DateTime(1970, 1, 1);
|
||||
|
||||
// Token: 0x040002B3 RID: 691
|
||||
private DateTime _createTime = new DateTime(1970, 1, 1);
|
||||
|
||||
// Token: 0x0200005E RID: 94
|
||||
[Flags]
|
||||
public enum Flags : byte
|
||||
{
|
||||
// Token: 0x040002B5 RID: 693
|
||||
ModificationTime = 1,
|
||||
// Token: 0x040002B6 RID: 694
|
||||
AccessTime = 2,
|
||||
// Token: 0x040002B7 RID: 695
|
||||
CreateTime = 4
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user