Sfoglia il codice sorgente

* Only resize TStringStream.Datastring in case the string will grow because of the write operation

git-svn-id: trunk@26599 -
michael 11 anni fa
parent
commit
b023e30164
1 ha cambiato i file con 2 aggiunte e 1 eliminazioni
  1. 2 1
      rtl/objpas/classes/streams.inc

+ 2 - 1
rtl/objpas/classes/streams.inc

@@ -853,7 +853,8 @@ function TStringStream.Write(const Buffer; Count: Longint): Longint;
 
 begin
   Result:=Count;
-  SetSize(FPosition+Count);
+  if FPosition+Count>Size then
+    SetSize(FPosition+Count);
   // This supposes that FDataString is of type AnsiString)
   Move (Buffer,PChar(FDataString)[Fposition],Count);
   FPosition:=FPosition+Count;