Esempio n. 1
0
        public void AddDirectory(string name, DateTime dt, string mode)
        {
            name = name.Replace('\\', '/');
            if (name.EndsWith("/") == false)
            {
                name = name + "/";
            }

            if (dirList.ContainsKey(name) == false)
            {
                TarHeader h = TarUtil.CreateTarHeader(name, encoding, 5, 0, dt, mode);
                fifo.Write(Util.StructToByte(h));

                dirList.Add(name, 0);
            }
        }
Esempio n. 2
0
        public void AddFileStart(string name, long size, DateTime dt, string directory_mode, string mode)
        {
            if (currentFileSize != 0 || currentPos != 0)
            {
                throw new ApplicationException("last file not completed.");
            }

            name = name.Replace('\\', '/');
            if (Str.InStr(name, "/", true))
            {
                AddDirectory(Path.GetDirectoryName(name), dt, directory_mode);
            }

            TarHeader h = TarUtil.CreateTarHeader(name, encoding, 0, size, dt, mode);

            fifo.Write(Util.StructToByte(h));

            currentFileSize = size;
            currentPos      = 0;
        }