From 05f836e89bc514353bf15464e96f1cc7d52ef0ad Mon Sep 17 00:00:00 2001
From: Marcus Schiesser <mail@marcusschiesser.de>
Date: Mon, 5 Apr 2021 13:25:31 +0800
Subject: [PATCH] using io.CopyBuffer

---
 src/gocat/main.go | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/gocat/main.go b/src/gocat/main.go
index 5c0b016..39fef19 100644
--- a/src/gocat/main.go
+++ b/src/gocat/main.go
@@ -33,14 +33,15 @@ func processFile(filename string) error {
 		}
 		defer f.Close()
 	}
-	if err := bufferedCopy(f, os.Stdout); err != nil {
+	buf := make([]byte, BUFFERSIZE)
+	if _, err := io.CopyBuffer(os.Stdout, f, buf); err != nil {
 		return err
 	}
 	return nil
 }
 
-func bufferedCopy(source io.Reader, destination io.Writer) error {
-	buf := make([]byte, BUFFERSIZE)
+// alternative implementation (if not using io.CopyBuffer)
+func copyBuffer(destination io.Writer, source io.Reader, buf []byte) error {
 	for {
 		n, err := source.Read(buf)
 		if err != nil && err != io.EOF {
-- 
GitLab