diff options
author | appilon <apilon@hashicorp.com> | 2019-02-27 16:43:31 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-02-27 16:43:31 -0500 |
commit | 844b5a68d8af4791755b8f0ad293cc99f5959183 (patch) | |
tree | 255c250a5c9d4801c74092d33b7337d8c14438ff /vendor/github.com/ulikunitz/xz/lzma/breader.go | |
parent | 303b299eeb6b06e939e35905e4b34cb410dd9dc3 (diff) | |
parent | 15c0b25d011f37e7c20aeca9eaf461f78285b8d9 (diff) | |
download | terraform-provider-statuscake-844b5a68d8af4791755b8f0ad293cc99f5959183.tar.gz terraform-provider-statuscake-844b5a68d8af4791755b8f0ad293cc99f5959183.tar.zst terraform-provider-statuscake-844b5a68d8af4791755b8f0ad293cc99f5959183.zip |
Merge pull request #27 from terraform-providers/go-modules-2019-02-22
[MODULES] Switch to Go Modules
Diffstat (limited to 'vendor/github.com/ulikunitz/xz/lzma/breader.go')
-rw-r--r-- | vendor/github.com/ulikunitz/xz/lzma/breader.go | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/vendor/github.com/ulikunitz/xz/lzma/breader.go b/vendor/github.com/ulikunitz/xz/lzma/breader.go new file mode 100644 index 0000000..5350d81 --- /dev/null +++ b/vendor/github.com/ulikunitz/xz/lzma/breader.go | |||
@@ -0,0 +1,39 @@ | |||
1 | // Copyright 2014-2017 Ulrich Kunitz. All rights reserved. | ||
2 | // Use of this source code is governed by a BSD-style | ||
3 | // license that can be found in the LICENSE file. | ||
4 | |||
5 | package lzma | ||
6 | |||
7 | import ( | ||
8 | "errors" | ||
9 | "io" | ||
10 | ) | ||
11 | |||
12 | // breader provides the ReadByte function for a Reader. It doesn't read | ||
13 | // more data from the reader than absolutely necessary. | ||
14 | type breader struct { | ||
15 | io.Reader | ||
16 | // helper slice to save allocations | ||
17 | p []byte | ||
18 | } | ||
19 | |||
20 | // ByteReader converts an io.Reader into an io.ByteReader. | ||
21 | func ByteReader(r io.Reader) io.ByteReader { | ||
22 | br, ok := r.(io.ByteReader) | ||
23 | if !ok { | ||
24 | return &breader{r, make([]byte, 1)} | ||
25 | } | ||
26 | return br | ||
27 | } | ||
28 | |||
29 | // ReadByte read byte function. | ||
30 | func (r *breader) ReadByte() (c byte, err error) { | ||
31 | n, err := r.Reader.Read(r.p) | ||
32 | if n < 1 { | ||
33 | if err == nil { | ||
34 | err = errors.New("breader.ReadByte: no data") | ||
35 | } | ||
36 | return 0, err | ||
37 | } | ||
38 | return r.p[0], nil | ||
39 | } | ||