Commit 5644774e authored by Josh Bleecher Snyder's avatar Josh Bleecher Snyder Committed by Russ Cox

net: handle single-line non-\n-terminated files correctly in readLine

Fixes #6646.

R=rsc, bradfitz
CC=golang-dev
https://golang.org/cl/15960047
parent 6ea5687b
...@@ -53,6 +53,19 @@ func TestLookupStaticHost(t *testing.T) { ...@@ -53,6 +53,19 @@ func TestLookupStaticHost(t *testing.T) {
hostsPath = p hostsPath = p
} }
// https://code.google.com/p/go/issues/detail?id=6646
func TestSingleLineHostsFile(t *testing.T) {
p := hostsPath
hostsPath = "testdata/hosts_singleline"
ips := lookupStaticHost("odin")
if len(ips) != 1 || ips[0] != "127.0.0.2" {
t.Errorf("lookupStaticHost = %v, want %v", ips, []string{"127.0.0.2"})
}
hostsPath = p
}
func TestLookupHost(t *testing.T) { func TestLookupHost(t *testing.T) {
// Can't depend on this to return anything in particular, // Can't depend on this to return anything in particular,
// but if it does return something, make sure it doesn't // but if it does return something, make sure it doesn't
......
...@@ -54,7 +54,7 @@ func (f *file) readLine() (s string, ok bool) { ...@@ -54,7 +54,7 @@ func (f *file) readLine() (s string, ok bool) {
if n >= 0 { if n >= 0 {
f.data = f.data[0 : ln+n] f.data = f.data[0 : ln+n]
} }
if err == io.EOF { if err == io.EOF || err == io.ErrUnexpectedEOF {
f.atEOF = true f.atEOF = true
} }
} }
......
127.0.0.2 odin
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment