DEADSOFTWARE

Engine: Fix e_UpperDir() leaving a trailing backslash
[d2df-sdl.git] / src / engine / e_res.pas
index e48cc32ed5746264150eb419cbf14ee36db99135..69adb6e6eb5faa6b5e4fd98c0d919b270cb50501 100644 (file)
@@ -79,9 +79,9 @@ implementation
   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);
-    result := Copy(path, 1, i)
+    result := Copy(path, 1, i-1)  // exclude the trailing separator
   end;
 
   function HasRelativeDirs (name: AnsiString): Boolean;