<> <> <> DIRECTORY Basics USING [Comparison], BasicTime USING [GMT, Now], Commander USING [CommandProc, Handle, Register], CommanderOps USING [Failed, NextArgument], DFUtilities USING [IncludeItem, ParseFromStream, ProcessItemProc], IO, PFS, PFSNames, Process USING [CheckForAbort], RedBlackTree USING [Compare, Create, EachNode, EnumerateIncreasing, GetKey, Insert, Lookup, Table], Rope; CompareDFwithDirImpl: CEDAR MONITOR IMPORTS BasicTime, Commander, CommanderOps, DFUtilities, IO, PFS, PFSNames, Process, RedBlackTree, Rope = BEGIN <> ROPE: TYPE = Rope.ROPE; STREAM: TYPE = IO.STREAM; PATH: TYPE = PFS.PATH; FileEntry: TYPE = REF FileEntryRep; FileEntryRep: TYPE = RECORD [ srcName: ROPE, <> status: FileEntryStatus <> ]; FileEntryStatus: TYPE = {dfOnly, dirOnly, both}; fileCount: ARRAY FileEntryStatus OF CARD ¬ ALL[0]; Switches: TYPE = PACKED ARRAY CHAR['a..'z] OF BOOL; <