From 6da9a2d49d2e4ed2f83a372d81a1602605f7cd83 Mon Sep 17 00:00:00 2001 From: bdd Date: Mon, 25 Aug 2014 11:58:14 -0400 Subject: [PATCH] Use scanner instead of buffer read line Supported in Go 1.1 http://golang.org/pkg/bufio/#Scanner --- .../remote-exec/resource_provisioner.go | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/builtin/provisioners/remote-exec/resource_provisioner.go b/builtin/provisioners/remote-exec/resource_provisioner.go index 5b5ed9bae..d606de733 100644 --- a/builtin/provisioners/remote-exec/resource_provisioner.go +++ b/builtin/provisioners/remote-exec/resource_provisioner.go @@ -245,12 +245,11 @@ func retryFunc(timeout time.Duration, f func() error) error { // of a remote command to log output for users. func streamLogs(r io.ReadCloser, name string) { defer r.Close() - bufR := bufio.NewReader(r) - for { - line, err := bufR.ReadString('\n') - if err != nil { - return - } - log.Printf("remote-exec: %s: %s", name, line) + scanner := bufio.NewScanner(r) + for scanner.Scan() { + log.Printf("remote-exec: %s: %s", name, scanner.Text()) + } + if err := scanner.Err(); err != nil { + return } }