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

⟦4cc780fed⟧ Ada Source

    Length: 4096 (0x1000)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure File_Exists, seg_03be10, separate Library_Extensions

Derivation

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

E3 Source Code



separate (Library_Extensions)
procedure File_Exists  
             (Remote_Filename   :        String;
              Remote_Machine    :        String;
              Remote_Connection : in out Rci.Context;  
              Status            : in out Simple_Status.Condition;
              Exists            : out    Boolean) is

begin

    Simple_Status.Initialize (Status);
    Exists := False;
    Acquire_Connection  
       (Remote_Connection => Remote_Connection,
        Remote_Machine    => Remote_Machine,
        Status            => Status);

    if not Simple_Status.Error (Status) then
        Rci.Execute_Command  
           (Command_Line          => "test -r " & Remote_Filename,
            Remote_Connection     => Remote_Connection,
            Status                => Status,
            Error_Pattern         => "",
            Parse_Error_Output    => False,
            Parse_Standard_Output => False,
            Show_Parsed_Output    => True,
            Trace_Command         => Trace_Rci_Commands);


        if not Simple_Status.Error (Status) then
            Exists := True;
        else
            --reset the status to a "good" status and Exists remains false
            Simple_Status.Initialize (Status);
            -- Log.Put_Line
            --    (Message => Simple_Status.Message (Status),
            --     Kind    => Profile.Error_Msg);
            -- Set_Status
            --    (Status     => Status,
            --     Error_Type => "Remote_Operation_Error",
            --     Message    => "Error testing for file existence.",
            --     Severity   => Simple_Status.Problem);
        end if;

    else
        Log.Put_Line  
           (Message => Simple_Status.Message (Status),  
            Kind    => Profile.Error_Msg);
        Set_Status  
           (Status     => Status,
            Error_Type => "Remote_Operation_Error",
            Message    => "Error acquiring connection while trying to" &
                             " test for file existence.",
            Severity   => Simple_Status.Problem);
    end if;

exception
    when others =>
        Unhandled_Exception (Status, "File_Exists");
end File_Exists;

E3 Meta Data

    nblk1=3
    nid=0
    hdr6=6
        [0x00] rec0=1b rec1=00 rec2=01 rec3=050
        [0x01] rec0=1a rec1=00 rec2=02 rec3=052
        [0x02] rec0=0a rec1=00 rec2=03 rec3=000
    tail 0x21534800e856574b86711 0x42a00088462062803