コード例 #1
0
        private HashSet <VirtualPath> ReadDeletes()
        {
            return(new HashSet <VirtualPath>(read()));

            IEnumerable <VirtualPath> read()
            {
                var path = Path.Combine(this.HostPath, ".deletes");

                if (File.Exists(path))
                {
                    using var reader = File.OpenText(path);
                    string name;
                    while ((name = reader.ReadLine()) != null)
                    {
                        if (!string.IsNullOrWhiteSpace(name))
                        {
                            var p = VirtualPath.TryParse(name.Trim());
                            if (p != null)
                            {
                                yield return(p);
                            }
                        }
                    }
                }
            }
        }
コード例 #2
0
        /// <summary>
        /// Canonicalizes a path.
        /// </summary>
        public void CanonicalizePath()
        {
            var inPath = vm.PhysicalMemory.GetString(vm.Processor.DS, vm.Processor.SI, 128, 0);

            var path = VirtualPath.TryParse(inPath);

            if (path == null)
            {
                vm.Processor.Flags.Carry = true;
                vm.Processor.AX          = 3;
            }

            path = vm.FileSystem.ResolvePath(path);

            vm.PhysicalMemory.SetString(vm.Processor.ES, vm.Processor.DI, path.ToString());
        }