Esempio n. 1
0
        // Token: 0x0600061E RID: 1566 RVA: 0x000269A0 File Offset: 0x00024BA0
        public static Class_179 dmethod_1086(string str_0, uint arg_0, uint arg_1)
        {
            Class_179 class_ = new Class_179
            {
                field_0 = Class_179.NClass_0.field_5,
                prop_1  = arg_0,
                field_7 = arg_1,
                field_2 = str_0
            };

            class_.lmethod_1098();
            return(class_);
        }
Esempio n. 2
0
        // Token: 0x0600061F RID: 1567 RVA: 0x000269D8 File Offset: 0x00024BD8
        public static Class_179 kmethod_1087(string str_0, int sayıInt_0)
        {
            Class_179 class_ = new Class_179
            {
                field_0 = Class_179.NClass_0.field_6,
                prop_1  = 0U,
                field_2 = str_0,
                field_8 = sayıInt_0,
                field_3 = Path.GetDirectoryName(str_0)
            };

            if (class_.field_3 == "")
            {
                class_.field_3 = ".";
            }
            class_.smethod_1100(0U);
            return(class_);
        }
Esempio n. 3
0
        // Token: 0x06000597 RID: 1431 RVA: 0x00025280 File Offset: 0x00023480
        public static bool WriteCentralDirectoryStructure(Stream s, ICollection <Class_163> entries, uint numSegments, Class_169 zip64, string comment, Class_178 container)
        {
            Class_179 class_ = s as Class_179;

            if (class_ != null)
            {
                class_.prop_0 = true;
            }
            long num = 0L;

            using (MemoryStream memoryStream = new MemoryStream())
            {
                foreach (Class_163 class_2 in entries)
                {
                    if (class_2.prop_34)
                    {
                        class_2.lmethod_718(memoryStream);
                    }
                }
                byte[] array = memoryStream.ToArray();
                s.Write(array, 0, array.Length);
                num = (long)array.Length;
            }
            Class_156 class_3 = s as Class_156;
            long      num2    = (class_3 != null) ? class_3.prop_7 : s.Position;
            long      num3    = num2 - num;
            uint      num4    = (class_ != null) ? class_.prop_1 : 0U;
            long      num5    = num2 - num3;
            int       num6    = Class_173.CountEntries(entries);
            bool      flag    = zip64 == Class_169.Always || num6 >= 65535 || num5 > (long)((ulong)-1) || num3 > (long)((ulong)-1);

            byte[] array3;
            if (flag)
            {
                if (zip64 == Class_169.Default)
                {
                    StackFrame stackFrame = new StackFrame(1);
                    if (stackFrame.GetMethod().DeclaringType == typeof(Class_168))
                    {
                        throw new Class_135("The archive requires a ZIP64 Central Directory. Consider setting the ZipFile.UseZip64WhenSaving property.");
                    }
                    throw new Class_135("The archive requires a ZIP64 Central Directory. Consider setting the ZipOutputStream.EnableZip64 property.");
                }
                else
                {
                    byte[] array2 = Class_173.GenZip64EndOfCentralDirectory(num3, num2, num6, numSegments);
                    array3 = Class_173.GenCentralDirectoryFooter(num3, num2, zip64, num6, comment, container);
                    if (num4 != 0U)
                    {
                        uint value = class_.dmethod_1096(array2.Length + array3.Length);
                        int  num7  = 16;
                        Array.Copy(BitConverter.GetBytes(value), 0, array2, num7, 4);
                        num7 += 4;
                        Array.Copy(BitConverter.GetBytes(value), 0, array2, num7, 4);
                        num7 = 60;
                        Array.Copy(BitConverter.GetBytes(value), 0, array2, num7, 4);
                        num7 += 4;
                        num7 += 8;
                        Array.Copy(BitConverter.GetBytes(value), 0, array2, num7, 4);
                    }
                    s.Write(array2, 0, array2.Length);
                }
            }
            else
            {
                array3 = Class_173.GenCentralDirectoryFooter(num3, num2, zip64, num6, comment, container);
            }
            if (num4 != 0U)
            {
                ushort value2 = (ushort)class_.dmethod_1096(array3.Length);
                int    num8   = 4;
                Array.Copy(BitConverter.GetBytes(value2), 0, array3, num8, 2);
                num8 += 2;
                Array.Copy(BitConverter.GetBytes(value2), 0, array3, num8, 2);
                num8 += 2;
            }
            s.Write(array3, 0, array3.Length);
            if (class_ != null)
            {
                class_.prop_0 = false;
            }
            return(flag);
        }