DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦babe0922b⟧ Ada Source

    Length: 5120 (0x1400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Directory_Miscellaneous, seg_0045a9

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« 
        └─⟦this⟧ 

E3 Source Code



with Diana;
with Directory;
with Directory_Renames;
use Directory_Renames;
package body Directory_Miscellaneous is

    package Low_Level renames Directory_Tools.Object.Low_Level;

    function Count (Iter : Directory_Tools.Object.Iterator) return Natural is
        Local : Object.Iterator := Iter;
        Count : Natural         := 0;
    begin
        while not Object.Done (Local) loop
            Count := Count + 1;
            Object.Next (Local);
        end loop;
        Object.Reset (Local);
        return Count;
    end Count;

    function Copy (Obj : Directory_Tools.Object.Handle)
                  return Directory_Tools.Object.Handle is
        Status     : Directory.Error_Status;
        Dir_Object : Directory.Object;
        Name       : constant String := Low_Level.Object_Name (Obj);
    begin
        if Object.Is_Nil (Obj) then
            return Obj;
        else
            Low_Level.Get_Object (Obj, Dir_Object, Status);

            return Low_Level.Make_Handle
                      (The_Error       => Object.Err_Code (Obj),
                       The_Name        => Name,
                       The_Object      => Dir_Object,
                       The_Version     => Directory.Nil,
                       The_Class       => Low_Level.Get_Class (Obj),
                       The_Declaration => Diana.Empty,
                       The_Root        => Diana.Empty,
                       The_Action      => Object.Low_Level.Default_Action_Id);
        end if;
    end Copy;

    function Copy (Obj : Directory_Tools.Object.Iterator)
                  return Directory_Tools.Object.Iterator is
        Return_Iter : Object.Iterator;

        Items      : constant String := Low_Level.Pattern (Obj);
        Nil_Object : Object.Handle   := Object.Nil;
    begin
        Return_Iter := Low_Level.Make_Iterator (Code => Object.Err_Code (Obj),
                                                An_Object => Nil_Object,                                               Pattern => "");

        Low_Level.Set_Pattern (Return_Iter, Items);

        return Return_Iter;
    end Copy;
end Directory_Miscellaneous;

E3 Meta Data

    nblk1=4
    nid=0
    hdr6=8
        [0x00] rec0=20 rec1=00 rec2=01 rec3=000
        [0x01] rec0=01 rec1=00 rec2=04 rec3=022
        [0x02] rec0=15 rec1=00 rec2=02 rec3=002
        [0x03] rec0=07 rec1=00 rec2=03 rec3=000
    tail 0x21700213c815c652c34f5 0x42a00088462061e03