Browse Source

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

git-svn-id: trunk@26599 -
michael 11 years ago
parent
commit
b023e30164
1 changed files with 2 additions and 1 deletions
  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;