Skip to content

Commit 9d4efdf

Browse files
committed
cmd/internal/bio: move Bgetc to link/internal/ld
Also, remove bio.Brdline. Change-Id: I3e0caed27a373fd71737cf6892de5e8fc208b776 Reviewed-on: https://go-review.googlesource.com/21783 Reviewed-by: Brad Fitzpatrick <[email protected]> Run-TryBot: Dave Cheney <[email protected]>
1 parent bce9747 commit 9d4efdf

File tree

2 files changed

+22
-32
lines changed

2 files changed

+22
-32
lines changed

src/cmd/internal/bio/buf.go

-21
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@ import (
1212
"os"
1313
)
1414

15-
const EOF = -1
16-
1715
// Reader implements a seekable buffered io.Reader.
1816
type Reader struct {
1917
f *os.File
@@ -98,25 +96,6 @@ func Bread(r *Reader, p []byte) int {
9896
return n
9997
}
10098

101-
func Bgetc(r *Reader) int {
102-
c, err := r.ReadByte()
103-
if err != nil {
104-
if err != io.EOF {
105-
log.Fatalf("reading input: %v", err)
106-
}
107-
return EOF
108-
}
109-
return int(c)
110-
}
111-
112-
func Brdline(r *Reader, delim int) string {
113-
s, err := r.ReadBytes(byte(delim))
114-
if err != nil {
115-
log.Fatalf("reading input: %v", err)
116-
}
117-
return string(s)
118-
}
119-
12099
func (r *Reader) Close() error {
121100
return r.f.Close()
122101
}

src/cmd/link/internal/ld/lib.go

+22-11
Original file line numberDiff line numberDiff line change
@@ -1269,10 +1269,10 @@ func ldobj(f *bio.Reader, pkg string, length int64, pn string, file string, when
12691269
eof := f.Offset() + length
12701270

12711271
start := f.Offset()
1272-
c1 := bio.Bgetc(f)
1273-
c2 := bio.Bgetc(f)
1274-
c3 := bio.Bgetc(f)
1275-
c4 := bio.Bgetc(f)
1272+
c1 := bgetc(f)
1273+
c2 := bgetc(f)
1274+
c3 := bgetc(f)
1275+
c4 := bgetc(f)
12761276
f.Seek(start, 0)
12771277

12781278
magic := uint32(c1)<<24 | uint32(c2)<<16 | uint32(c3)<<8 | uint32(c4)
@@ -1289,9 +1289,9 @@ func ldobj(f *bio.Reader, pkg string, length int64, pn string, file string, when
12891289
}
12901290

12911291
/* check the header */
1292-
line := bio.Brdline(f, '\n')
1293-
if line == "" {
1294-
Diag("truncated object file: %s", pn)
1292+
line, err := f.ReadString('\n')
1293+
if err != nil {
1294+
Diag("truncated object file: %s: %v", pn, err)
12951295
return nil
12961296
}
12971297

@@ -1336,13 +1336,13 @@ func ldobj(f *bio.Reader, pkg string, length int64, pn string, file string, when
13361336
import0 := f.Offset()
13371337

13381338
c1 = '\n' // the last line ended in \n
1339-
c2 = bio.Bgetc(f)
1340-
c3 = bio.Bgetc(f)
1339+
c2 = bgetc(f)
1340+
c3 = bgetc(f)
13411341
for c1 != '\n' || c2 != '!' || c3 != '\n' {
13421342
c1 = c2
13431343
c2 = c3
1344-
c3 = bio.Bgetc(f)
1345-
if c3 == bio.EOF {
1344+
c3 = bgetc(f)
1345+
if c3 == -1 {
13461346
Diag("truncated object file: %s", pn)
13471347
return nil
13481348
}
@@ -2133,3 +2133,14 @@ func Rnd(v int64, r int64) int64 {
21332133
v -= c
21342134
return v
21352135
}
2136+
2137+
func bgetc(r *bio.Reader) int {
2138+
c, err := r.ReadByte()
2139+
if err != nil {
2140+
if err != io.EOF {
2141+
log.Fatalf("reading input: %v", err)
2142+
}
2143+
return -1
2144+
}
2145+
return int(c)
2146+
}

0 commit comments

Comments
 (0)