Переглянути джерело

* fsplit with .. fix from Thomas (merged)

peter 25 роки тому
батько
коміт
4072466464
3 змінених файлів з 26 додано та 7 видалено
  1. 6 1
      rtl/go32v2/dos.pp
  2. 10 3
      rtl/linux/linux.pp
  3. 10 3
      rtl/win32/dos.pp

+ 6 - 1
rtl/go32v2/dos.pp

@@ -769,6 +769,8 @@ begin
          Begin
             If (Path[i]='.') Then
               begin
+                 while (i>0) and (Path[i]='.') do
+                  dec(i);
                  DotPos:=i;
                  break;
               end;
@@ -1135,7 +1137,10 @@ End;
 end.
 {
   $Log$
-  Revision 1.6  2000-08-04 21:45:39  peter
+  Revision 1.7  2000-09-04 19:38:12  peter
+    * fsplit with .. fix from Thomas (merged)
+
+  Revision 1.6  2000/08/04 21:45:39  peter
     * getenv case insensitive (merged)
 
   Revision 1.4  2000/07/22 12:24:55  jonas

+ 10 - 3
rtl/linux/linux.pp

@@ -2556,7 +2556,11 @@ Begin
   While (i>0) and (SlashPos=0) Do
    Begin
      If (DotPos=256) and (Path[i]='.') Then
-      DotPos:=i;
+      begin
+        while (i>0) and (Path[i]='.') do
+         dec(i);
+        DotPos:=i;
+      end;
      If (Path[i]='/') Then
       SlashPos:=i;
      Dec(i);
@@ -2931,7 +2935,10 @@ End.
 
 {
   $Log$
-  Revision 1.2  2000-07-13 11:33:48  michael
+  Revision 1.3  2000-09-04 19:38:13  peter
+    * fsplit with .. fix from Thomas (merged)
+
+  Revision 1.2  2000/07/13 11:33:48  michael
   + removed logs
- 
+
 }

+ 10 - 3
rtl/win32/dos.pp

@@ -667,6 +667,8 @@ begin
      Begin
         If (Path[i]='.') Then
           begin
+             while (i>0) and (path[i]='.') do
+              dec(i);
              DotPos:=i;
              break;
           end;
@@ -718,12 +720,14 @@ var temp        : PChar;
     name        : namestr;
     ext         : extstr;
     s           : SearchRec;
+    found       : boolean;
 begin
 { check if the file specified exists }
   findfirst(path,anyfile,s);
-  if doserror=0 then
+  found:=(doserror=0);
+  findclose(s);
+  if found then
    begin
-     findclose(s);
      fsearch:=path;
      exit;
    end;
@@ -1014,7 +1018,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.3  2000-08-24 19:02:36  peter
+  Revision 1.4  2000-09-04 19:38:13  peter
+    * fsplit with .. fix from Thomas (merged)
+
+  Revision 1.3  2000/08/24 19:02:36  peter
     * fsearch checks if file exists first (merged)
 
   Revision 1.2  2000/07/13 11:33:57  michael