From fb88615092fb42e4254c1af1b47fb7106b0479a5 Mon Sep 17 00:00:00 2001 From: fumiama Date: Fri, 31 Dec 2021 13:37:39 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E5=88=86=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gold/link/link.go | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/gold/link/link.go b/gold/link/link.go index 0e72b29..5a86541 100644 --- a/gold/link/link.go +++ b/gold/link/link.go @@ -79,22 +79,22 @@ func (l *Link) Write(p *head.Packet, istransfer bool) (n int, err error) { return l.write(p, 0, istransfer, false) } data := p.Data - offset := 0 - for len(data) > int(l.me.mtu) { + totl := len(data) + i := 0 + for ; totl > int(l.me.mtu); i += int(l.me.mtu) { packet := *p - packet.Data = data[offset*int(l.me.mtu) : (offset+1)*int(l.me.mtu)] - i, err := l.write(&packet, uint16(offset), istransfer, true) - n += i + packet.Data = data[i : i+int(l.me.mtu)] + cnt, err := l.write(&packet, uint16(i), istransfer, true) + n += cnt if err != nil { return n, err } - data = data[(offset+1)*int(l.me.mtu):] - offset++ + data = data[i+int(l.me.mtu):] + totl -= int(l.me.mtu) } - packet := *p - packet.Data = data - i, err := l.write(&packet, uint16(offset), istransfer, false) - n += i + p.Data = data + cnt, err := l.write(p, uint16(i), istransfer, false) + n += cnt if err != nil { return n, err }