|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 4096 (0x1000)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Low_Level_File_Utilities, seg_0046e2
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦this⟧
with Io;
with Directory_Tools;
with Low_Level_File_Operations;
package body Low_Level_File_Utilities is
procedure Append (This_File : in String;
To_This_File : in String;
Add_Page_Break : in Boolean := False) is
Source : Io.File_Type;
Target : Io.File_Type;
The_Target : Directory_Tools.Object.Handle :=
Directory_Tools.Naming.Resolution (To_This_File);
Target_Is_Nonexistent : Boolean := False;
begin
if Directory_Tools.Object.Is_Bad (The_Target) then
Target_Is_Nonexistent := True;
end if;
Low_Level_File_Operations.Open_To_Append (To_This_File, Target);
Low_Level_File_Operations.Open_To_Read (This_File, Source);
-- If the target already has some contents, then add a page
-- break, otherwise don't, since this is the first entry in
-- the target file.
if Add_Page_Break and then not Target_Is_Nonexistent then
Io.New_Page (Target);
end if;
while not Io.End_Of_File (Source) loop
Io.Put_Line (Target, Io.Get_Line (Source));
end loop;
Low_Level_File_Operations.Close (Target);
Low_Level_File_Operations.Close (Source);
exception
when others =>
Low_Level_File_Operations.Close (Target);
Low_Level_File_Operations.Close (Source);
raise Io_Failure;
end Append;
function Flattened_Text
(This_File : in Io.File_Type; Current_Text : in String)
return String is
The_File : Io.File_Type := This_File;
begin
if Io.End_Of_File (The_File) then
return Current_Text;
else
return Flattened_Text (The_File, Current_Text & Ascii.Lf &
Io.Get_Line (The_File));
end if;
end Flattened_Text;
function Flattened_Text (This_File : in String) return String is
The_File : Io.File_Type;
begin
Low_Level_File_Operations.Open_To_Read (This_File, The_File);
declare
The_Text : constant String := Flattened_Text (The_File, "");
begin
Low_Level_File_Operations.Close (The_File);
return The_Text;
end;
exception
when others =>
Low_Level_File_Operations.Close (The_File);
raise Io_Failure;
end Flattened_Text;
end Low_Level_File_Utilities;
nblk1=3
nid=0
hdr6=6
[0x00] rec0=1c rec1=00 rec2=01 rec3=038
[0x01] rec0=1e rec1=00 rec2=02 rec3=01e
[0x02] rec0=17 rec1=00 rec2=03 rec3=000
tail 0x217002a48815c67427293 0x42a00088462061e03