diff --git a/src/engine/e_res.pas b/src/engine/e_res.pas
index e48cc32ed5746264150eb419cbf14ee36db99135..69adb6e6eb5faa6b5e4fd98c0d919b270cb50501 100644 (file)
--- a/src/engine/e_res.pas
+++ b/src/engine/e_res.pas
function e_UpperDir (path: AnsiString): AnsiString;
var i: Integer;
begin
function e_UpperDir (path: AnsiString): AnsiString;
var i: Integer;
begin
- i := High(path);
+ i := High(path); // consider possible cases: '\a\', '\a', '\abc\'
while (i >= 1) and (path[i] <> '/') and (path[i] <> '\') do Dec(i);
while (i >= 1) and (path[i] <> '/') and (path[i] <> '\') do Dec(i);
- result := Copy(path, 1, i)
+ result := Copy(path, 1, i-1) // exclude the trailing separator
end;
function HasRelativeDirs (name: AnsiString): Boolean;
end;
function HasRelativeDirs (name: AnsiString): Boolean;