2
0
Эх сурвалжийг харах

compiler: revert r14244

git-svn-id: trunk@14257 -
paul 15 жил өмнө
parent
commit
c6c15f6533
1 өөрчлөгдсөн 18 нэмэгдсэн , 20 устгасан
  1. 18 20
      compiler/cclasses.pas

+ 18 - 20
compiler/cclasses.pas

@@ -2498,19 +2498,18 @@ end;
       begin
         p:=pchar(@d);
         while (len>0) do
-         with FPosnblock^ do
          begin
-           i:=FPosn-pos;
-           if i+len>=size then
+           i:=FPosn-FPosnblock^.pos;
+           if i+len>=FPosnblock^.size then
             begin
-              j:=size-i;
-              move(p^,data[i],j);
+              j:=FPosnblock^.size-i;
+              move(p^,FPosnblock^.data[i],j);
               inc(p,j);
               inc(FPosn,j);
               dec(len,j);
-              used:=size;
-              if assigned(Next) then
-               FPosnblock:=Next
+              FPosnblock^.used:=FPosnblock^.size;
+              if assigned(FPosnblock^.Next) then
+               FPosnblock:=FPosnblock^.Next
               else
                begin
                  grow;
@@ -2519,12 +2518,12 @@ end;
             end
            else
             begin
-              move(p^,data[i],len);
+              move(p^,FPosnblock^.data[i],len);
               inc(p,len);
               inc(FPosn,len);
-              i:=FPosn-pos;
-              if i>used then
-               used:=i;
+              i:=FPosn-FPosnblock^.pos;
+              if i>FPosnblock^.used then
+               FPosnblock^.used:=i;
               len:=0;
             end;
          end;
@@ -2545,25 +2544,24 @@ end;
         res:=0;
         p:=pchar(@d);
         while (len>0) do
-         with FPosnblock^ do
          begin
-           i:=FPosn-pos;
-           if i+len>=used then
+           i:=FPosn-FPosnblock^.pos;
+           if i+len>=FPosnblock^.used then
             begin
-              j:=used-i;
-              move(data[i],p^,j);
+              j:=FPosnblock^.used-i;
+              move(FPosnblock^.data[i],p^,j);
               inc(p,j);
               inc(FPosn,j);
               inc(res,j);
               dec(len,j);
-              if assigned(Next) then
-               FPosnblock:=Next
+              if assigned(FPosnblock^.Next) then
+               FPosnblock:=FPosnblock^.Next
               else
                break;
             end
            else
             begin
-              move(data[i],p^,len);
+              move(FPosnblock^.data[i],p^,len);
               inc(p,len);
               inc(FPosn,len);
               inc(res,len);