diff options
author | Daniel J Walsh <dwalsh@redhat.com> | 2018-07-08 07:55:30 -0400 |
---|---|---|
committer | Atomic Bot <atomic-devel@projectatomic.io> | 2018-07-19 18:43:32 +0000 |
commit | 98703eb204923f06555605c648fc165a55214520 (patch) | |
tree | a407bae8b3489d4f9b0f0d0f228658bbfe95a38e /vendor/github.com/ulikunitz/xz/lzma/breader.go | |
parent | c020db8cd21cb221cfbe36b264e0ec02999596ed (diff) | |
download | podman-98703eb204923f06555605c648fc165a55214520.tar.gz podman-98703eb204923f06555605c648fc165a55214520.tar.bz2 podman-98703eb204923f06555605c648fc165a55214520.zip |
Vendor in latest code for storage,image, buildah
vendor in containers/storage
vendor in containers/image
vendor in projectatomic/buildah
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
Closes: #1114
Approved by: mheon
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 000000000..5350d814f --- /dev/null +++ b/vendor/github.com/ulikunitz/xz/lzma/breader.go @@ -0,0 +1,39 @@ +// Copyright 2014-2017 Ulrich Kunitz. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package lzma + +import ( + "errors" + "io" +) + +// breader provides the ReadByte function for a Reader. It doesn't read +// more data from the reader than absolutely necessary. +type breader struct { + io.Reader + // helper slice to save allocations + p []byte +} + +// ByteReader converts an io.Reader into an io.ByteReader. +func ByteReader(r io.Reader) io.ByteReader { + br, ok := r.(io.ByteReader) + if !ok { + return &breader{r, make([]byte, 1)} + } + return br +} + +// ReadByte read byte function. +func (r *breader) ReadByte() (c byte, err error) { + n, err := r.Reader.Read(r.p) + if n < 1 { + if err == nil { + err = errors.New("breader.ReadByte: no data") + } + return 0, err + } + return r.p[0], nil +} |