|
|
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: 8192 (0x2000)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Mac_Path, seg_0244ad
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦this⟧
with Mac_Types;
with Mac_Text;
use Mac_Types;
package body Mac_Path is
procedure Get_Mac_Root_Directory
(T : Mac_Text.Text; S : out Str255; Exists : out Boolean) is
First, Second : Mac_Text.Index;
Str : Str255;
begin
Exists := False;
S (0) := Nul;
for Index_Char in 1 .. Mac_Text.Length (T) loop
Str (Index_Char) := Mac_Text.Value (Index_Char, T);
if Str (Index_Char) = ':' then
if Index_Char > 1 then
Str (0) := Mac_Types.Char'Val (Index_Char);
S := Str;
Exists := True;
end if;
return;
end if;
end loop;
end Get_Mac_Root_Directory;
procedure Get_Mac_Sub_Directory (T : Mac_Text.Text;
Which : Index;
S : out Str255;
Exists : out Boolean) is
First, Second : Mac_Text.Index := 0;
Remaining : Natural := Natural (Which);
Str : constant Str255 := Mac_Text.Value (T);
begin
Exists := False;
S (0) := Nul;
for Index_Char in 1 .. Mac_Text.Length (T) loop
if Mac_Text.Value (Index_Char, T) = ':' then
Second := First;
First := Index_Char;
if Remaining = 0 then
S (0) := Mac_Types.Char'Val (First - Second + 1);
S (1 .. First - Second + 1) := Str (Second .. First);
Exists := True;
return;
else
Remaining := Remaining - 1;
end if;
end if;
end loop;
end Get_Mac_Sub_Directory;
procedure Get_Mac_Name
(T : Mac_Text.Text; S : out Str255; Exists : out Boolean) is
First : Mac_Text.Index := 0;
Str : constant Str255 := Mac_Text.Value (T);
begin
Exists := False;
S (0) := Nul;
for Index_Char in 1 .. Mac_Text.Length (T) loop
if Mac_Text.Value (Index_Char, T) = ':' then
First := Index_Char;
end if;
end loop;
if First /= Mac_Text.Length (T) then
S (0) := Mac_Types.Char'Val (Mac_Text.Length (T) - First);
S (1 .. Mac_Text.Length (T) - First) :=
Str (First + 1 .. Mac_Text.Length (T));
Exists := True;
end if;
end Get_Mac_Name;
end Mac_Path;
nblk1=7
nid=6
hdr6=6
[0x00] rec0=1e rec1=00 rec2=01 rec3=048
[0x01] rec0=19 rec1=00 rec2=04 rec3=04c
[0x02] rec0=13 rec1=00 rec2=05 rec3=000
[0x03] rec0=1a rec1=00 rec2=07 rec3=01a
[0x04] rec0=01 rec1=00 rec2=06 rec3=000
[0x05] rec0=19 rec1=00 rec2=06 rec3=056
[0x06] rec0=19 rec1=00 rec2=07 rec3=000
tail 0x2171f8176839c6adc88da 0x42a00088462060003
Free Block Chain:
0x6: 0000 00 07 00 03 00 00 00 20 20 20 20 20 20 20 20 20 ┆ ┆
0x7: 0000 00 03 03 fb 80 2f 20 20 20 20 20 20 20 20 41 5f ┆ / A_┆
0x3: 0000 00 02 00 23 80 20 6e 64 65 78 5f 43 68 61 72 20 ┆ # ndex_Char ┆
0x2: 0000 00 00 00 2e 80 1f 3a 3d 20 47 75 6e 69 78 70 61 ┆ . := Gunixpa┆