Amiga: merged getpathstring DOS unit fixes from MorphOS RTL

git-svn-id: trunk@27049 -
This commit is contained in:
Károly Balogh 2014-03-09 16:41:25 +00:00
parent f2cf516529
commit b11e26cf55

View File

@ -441,7 +441,7 @@ end;
procedure Exec(const Path: PathStr; const ComLine: ComStr); procedure Exec(const Path: PathStr; const ComLine: ComStr);
var var
tmpPath: array[0..255] of char; tmpPath: array[0..515] of char;
result : longint; result : longint;
tmpLock: longint; tmpLock: longint;
begin begin
@ -881,17 +881,24 @@ var
s : string; s : string;
found : boolean; found : boolean;
temp : string[255]; temp : string[255];
tmpBat: string[31];
tmpList: string[31];
begin begin
found := true; found := true;
temp := ''; temp := '';
assign(f,'ram:makepathstr');
tmpBat:='T:'+HexStr(FindTask(nil));
tmpList:=tmpBat+'_path.tmp';
tmpBat:=tmpBat+'_path.sh';
assign(f,tmpBat);
rewrite(f); rewrite(f);
writeln(f,'path >ram:temp.lst'); writeln(f,'path >'+tmpList);
close(f); close(f);
exec('c:protect','ram:makepathstr sarwed quiet'); exec('C:Execute',tmpBat);
exec('ram:makepathstr',''); erase(f);
exec('c:delete','ram:makepathstr quiet');
assign(f,'ram:temp.lst'); assign(f,tmpList);
reset(f); reset(f);
{ skip the first line, garbage } { skip the first line, garbage }
if not eof(f) then readln(f,s); if not eof(f) then readln(f,s);
@ -906,7 +913,8 @@ begin
end; end;
end; end;
close(f); close(f);
exec('C:delete','ram:temp.lst quiet'); erase(f);
getpathstring := temp; getpathstring := temp;
end; end;