Fix suggested by go vet

Vet examines the source code and reports suspicious constructs including
non-standard signatures for widely-used names such as
WriteTo and ReadRune.

$ go vet github.com/chzyer/readline
remote.go:276: method WriteTo(w io.Writer) (int, error) should have signature WriteTo(io.Writer) (int64, error)
terminal.go:99: method ReadRune() rune should have signature ReadRune() (rune, int, error)

This commit introduces exported method changes.
This commit is contained in:
Hana Kim 2018-09-10 18:29:52 -04:00
parent 2972be24d4
commit 58ec6f4d24
3 changed files with 12 additions and 9 deletions

View File

@ -108,7 +108,7 @@ func (o *Operation) ioloop() {
for { for {
keepInSearchMode := false keepInSearchMode := false
keepInCompleteMode := false keepInCompleteMode := false
r := o.t.ReadRune() r, _, _ := o.t.ReadRune()
if o.GetConfig().FuncFilterInputRune != nil { if o.GetConfig().FuncFilterInputRune != nil {
var process bool var process bool
r, process = o.GetConfig().FuncFilterInputRune(r) r, process = o.GetConfig().FuncFilterInputRune(r)
@ -154,7 +154,10 @@ func (o *Operation) ioloop() {
} }
if o.IsEnableVimMode() { if o.IsEnableVimMode() {
r = o.HandleVim(r, o.t.ReadRune) r = o.HandleVim(r, func() rune {
c, _, _ := o.t.ReadRune()
return c
})
if r == 0 { if r == 0 {
continue continue
} }

View File

@ -182,7 +182,7 @@ loop:
break break
} }
n, err := ctx.msg.WriteTo(r.conn) n, err := ctx.msg.WriteTo(r.conn)
ctx.reply <- &writeReply{n, err} ctx.reply <- &writeReply{int(n), err}
case <-r.stopChan: case <-r.stopChan:
break loop break loop
} }
@ -273,13 +273,12 @@ func NewMessage(t MsgType, data []byte) *Message {
return &Message{t, data} return &Message{t, data}
} }
func (m *Message) WriteTo(w io.Writer) (int, error) { func (m *Message) WriteTo(w io.Writer) (int64, error) {
buf := bytes.NewBuffer(make([]byte, 0, len(m.Data)+2+4)) buf := bytes.NewBuffer(make([]byte, 0, len(m.Data)+2+4))
binary.Write(buf, binary.BigEndian, int32(len(m.Data)+2)) binary.Write(buf, binary.BigEndian, int32(len(m.Data)+2))
binary.Write(buf, binary.BigEndian, m.Type) binary.Write(buf, binary.BigEndian, m.Type)
buf.Write(m.Data) buf.Write(m.Data)
n, err := buf.WriteTo(w) return buf.WriteTo(w)
return int(n), err
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------

View File

@ -7,6 +7,7 @@ import (
"strings" "strings"
"sync" "sync"
"sync/atomic" "sync/atomic"
"unicode/utf8"
) )
type Terminal struct { type Terminal struct {
@ -96,12 +97,12 @@ func (t *Terminal) Readline() *Operation {
} }
// return rune(0) if meet EOF // return rune(0) if meet EOF
func (t *Terminal) ReadRune() rune { func (t *Terminal) ReadRune() (rune, int, error) {
ch, ok := <-t.outchan ch, ok := <-t.outchan
if !ok { if !ok {
return rune(0) return rune(0), 1, nil
} }
return ch return ch, utf8.RuneLen(ch), nil
} }
func (t *Terminal) IsReading() bool { func (t *Terminal) IsReading() bool {