program teststrm;
uses objects,go32;


Function MyGetDir(b:byte):string;
var r:TRealRegs;
    a:array[0..266] of char;
    p:pchar;
    s:string;
begin
if b=0 then
   begin
   r.ax:=$1900;
   RealIntr($21,r);
   b:=r.al+1;
   end;
p:=@a;
r.dl:=b;
r.ax:=$4700;
r.ds:=tb_segment;
r.si:=tb_offset;
RealIntr($21,r);
if (r.flags and 1{fCarry})<>0 then s:='' else
   begin
   CopyFromDOS(p^,66);
   s:=p;
   end;
MyGetDir:=char(b+64)+':\'+s;
end;


Function FPCGetDir(b:byte):string;
var s:string;
begin
GetDir(b,s);
FPCGetDir:=s;
end;


var m0,m3:string;
    f0,f3:string;

    s:string;

begin

GetDir(0,s);
writeln('==> '+s);


f0:=FPCGetDir(0);
f3:=FPCGetDir(0);

m0:=MyGetDir(0);
m3:=MyGetDir(3);


writeln('GetDir for default drive:');
writeln('FPC: ',f0,'    mine: ',m0);
writeln;
writeln('GetDir for drive C:');
writeln('FPC: ',f3,'    mine: ',m3);
end.
