DIRECTORY Commander, FS, IO, MessageWindow USING [Append], Rope, VersionMap; CountReleaseSize: CEDAR PROGRAM IMPORTS Commander, FS, IO, MessageWindow, VersionMap = BEGIN Map: TYPE = VersionMap.Map; ROPE: TYPE = Rope.ROPE; CountCommand: Commander.CommandProc = { files: INT _ 0; pages: INT _ 0; ifsPages: INT _ 0; InnerCount: PROC [name: ROPE] = { map: Map _ VersionMap.RestoreMapFromFile[name]; IO.PutF[cmd.out, " Processing: %g\n", [rope[name]]]; FOR i: INT IN [0..VersionMap.Length[map]) DO eachName: ROPE _ VersionMap.FetchName[map, i]; bytes: INT _ FS.FileInfo[eachName ! FS.Error => IF error.group # bug THEN { IO.PutF[cmd.out, "File not found: %g\n", [rope[eachName]]]; LOOP; }].bytes; pages _ pages + (bytes+511) / 512; ifsPages _ ifsPages + (bytes+2047) / 2048; files _ files + 1; MessageWindow.Append[ msg _ IO.PutFR[ " files: %g, pages: %g, ifsPages: %g", [integer[files]], [integer[pages]], [integer[ifsPages]]], TRUE]; ENDLOOP; }; InnerCount["CedarSource.VersionMap"]; InnerCount["CedarSymbols.VersionMap"]; }; Commander.Register["CountReleaseSize", CountCommand]; END. FCountReleaseSize.mesa Russ Atkinson, December 20, 1983 3:58 pm Ęš˜šœ™Jšœ(™(—J˜šĪk ˜ Jšœ ˜ Jšœ˜Jšœ˜Jšœœ ˜J˜J˜ J˜—šœœ˜Jšœ œœ˜4Jšœ˜—J˜Jšœœ˜Jšœœœ˜J˜˜'Jšœœ˜Jšœœ˜Jšœ œ˜šĪn œœœ˜!J˜/Jšœ3˜5šœœœ˜,Jšœ œ ˜.šœœœ˜!šœœ ˜šœœ˜Jšœ9˜;Jšœ˜Jšœ ˜ ———J˜"J˜*J˜˜šœœ˜Jšœ'˜'Jšœ9˜9—Jšœ˜—Jšœ˜—Jšœ˜—Jšœ%˜%Jšœ&˜&J˜J˜—J˜5J˜Jšœ˜J˜—…—FE