diff options
author | michael <michael@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2010-11-26 16:19:26 +0000 |
---|---|---|
committer | michael <michael@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2010-11-26 16:19:26 +0000 |
commit | 6d17aaeec22b6f0c27967c40b7899b6e00dffb19 (patch) | |
tree | 56d2a463765218dc36befe5d71d301c3be1b9f4c /packages/fcl-base | |
parent | 31bf696d6737ff61f2f0afce3c6ab1b8b95b414f (diff) | |
download | fpc-6d17aaeec22b6f0c27967c40b7899b6e00dffb19.tar.gz |
* Added flush to TBase64Encoder
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@16450 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'packages/fcl-base')
-rw-r--r-- | packages/fcl-base/src/base64.pp | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/packages/fcl-base/src/base64.pp b/packages/fcl-base/src/base64.pp index 1894c4a262..3498b08e41 100644 --- a/packages/fcl-base/src/base64.pp +++ b/packages/fcl-base/src/base64.pp @@ -38,7 +38,7 @@ type public constructor Create(ASource: TStream); destructor Destroy; override; - + Function Flush : Boolean; function Write(const Buffer; Count: Longint): Longint; override; function Seek(Offset: Longint; Origin: Word): Longint; override; end; @@ -129,7 +129,8 @@ begin inherited Create(ASource); end; -destructor TBase64EncodingStream.Destroy; +function TBase64EncodingStream.Flush : Boolean; + var WriteBuf: array[0..3] of Char; begin @@ -141,6 +142,8 @@ begin WriteBuf[2] := '='; WriteBuf[3] := '='; Source.Write(WriteBuf, 4); + Result:=True; + Inc(TotalBytesProcessed,2); end; 2: begin WriteBuf[0] := EncodingTable[Buf[0] shr 2]; @@ -148,8 +151,17 @@ begin WriteBuf[2] := EncodingTable[(Buf[1] and 15) shl 2]; WriteBuf[3] := '='; Source.Write(WriteBuf, 4); + Result:=True; + Inc(TotalBytesProcessed,1); end; + else + Result:=False; end; +end; + +destructor TBase64EncodingStream.Destroy; +begin + Flush; inherited Destroy; end; |