Update vendor/
This commit is contained in:
61
vendor/github.com/emersion/go-textwrapper/wrapper.go
generated
vendored
Normal file
61
vendor/github.com/emersion/go-textwrapper/wrapper.go
generated
vendored
Normal file
@@ -0,0 +1,61 @@
|
||||
// A writer that wraps long text lines to a specified length.
|
||||
package textwrapper
|
||||
|
||||
import (
|
||||
"io"
|
||||
)
|
||||
|
||||
type writer struct {
|
||||
Sep string
|
||||
Len int
|
||||
|
||||
w io.Writer
|
||||
i int
|
||||
}
|
||||
|
||||
func (w *writer) Write(b []byte) (N int, err error) {
|
||||
to := w.Len - w.i
|
||||
|
||||
for len(b) > to {
|
||||
var n int
|
||||
n, err = w.w.Write(b[:to])
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
N += n
|
||||
b = b[to:]
|
||||
|
||||
_, err = w.w.Write([]byte(w.Sep))
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
w.i = 0
|
||||
to = w.Len
|
||||
}
|
||||
|
||||
w.i += len(b)
|
||||
|
||||
n, err := w.w.Write(b)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
N += n
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// Returns a writer that splits its input into multiple parts that have the same
|
||||
// length and adds a separator between these parts.
|
||||
func New(w io.Writer, sep string, l int) io.Writer {
|
||||
return &writer{
|
||||
Sep: sep,
|
||||
Len: l,
|
||||
w: w,
|
||||
}
|
||||
}
|
||||
|
||||
// Creates a RFC822 text wrapper. It adds a CRLF (ie. \r\n) each 76 characters.
|
||||
func NewRFC822(w io.Writer) io.Writer {
|
||||
return New(w, "\r\n", 76)
|
||||
}
|
Reference in New Issue
Block a user