summaryrefslogtreecommitdiff
path: root/packages/fcl-base/examples/b64dec.pp
diff options
context:
space:
mode:
Diffstat (limited to 'packages/fcl-base/examples/b64dec.pp')
-rw-r--r--packages/fcl-base/examples/b64dec.pp29
1 files changed, 29 insertions, 0 deletions
diff --git a/packages/fcl-base/examples/b64dec.pp b/packages/fcl-base/examples/b64dec.pp
new file mode 100644
index 0000000000..c7aa144e49
--- /dev/null
+++ b/packages/fcl-base/examples/b64dec.pp
@@ -0,0 +1,29 @@
+
+// base64-decodes data from StdIn and writes the output to StdOut
+// (c) 1999 Sebastian Guenther
+
+{$MODE objfpc}
+
+program b64dec;
+uses classes, base64, sysutils;
+var
+ b64decoder: TBase64DecodingStream;
+ InputStream: TStream;
+ IsEnd: Boolean;
+begin
+
+ InputStream := THandleStream.Create(StdInputHandle);
+
+ b64decoder := TBase64DecodingStream.Create(InputStream);
+
+ IsEnd := False;
+ while not IsEnd do
+ try
+ Write(Chr(b64decoder.ReadByte));
+ except
+ on e: EStreamError do IsEnd := True;
+ end;
+
+ b64decoder.Free;
+ InputStream.Free;
+end.