Fix getting too much string data from clipboard (w32 only). Issue #16483 Based on patch by Bart Broersma

git-svn-id: trunk@27553 -
This commit is contained in:
martin 2010-10-03 19:37:32 +00:00
parent 1f15b325ab
commit 89bc817f68

View File

@ -411,12 +411,20 @@ begin
begin;
SetLength(BufferWideString, Size div 2);
BufferStream.Read(BufferWideString[1], Size);
//BufferString may have pending #0 's (or garbage after a #0)
Size := Pos(#0, BufferWideString);
if Size > 0 then
SetLength(BufferWideString, Size);
BufferString := UTF16ToUTF8(BufferWideString);
end
else
begin
SetLength(BufferString, Size);
SetLength(BufferString, Size - 1);
BufferStream.Read(BufferString[1], Size);
//BufferString may have pending #0 's (or garbage after a #0)
Size := Pos(#0, BufferString);
if Size > 0 then
SetLength(BufferString, Size - 1);
BufferString := AnsiToUtf8(BufferString);
end;
Stream.Write(BufferString[1], Length(BufferString));