From: Rob Pike Date: Wed, 20 Feb 2013 22:34:03 +0000 (-0800) Subject: mime: use Scanner to read mime files during init X-Git-Tag: go1.1rc2~941 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=35367cc64129f1dfcf764ed6ba3461db9bb54343;p=gostls13.git mime: use Scanner to read mime files during init Also close the file when we're done. R=bradfitz CC=golang-dev https://golang.org/cl/7363045 --- diff --git a/src/pkg/mime/type_unix.go b/src/pkg/mime/type_unix.go index 88eb83a735..857a0ab676 100644 --- a/src/pkg/mime/type_unix.go +++ b/src/pkg/mime/type_unix.go @@ -23,15 +23,11 @@ func loadMimeFile(filename string) { if err != nil { return } + defer f.Close() - reader := bufio.NewReader(f) - for { - line, err := reader.ReadString('\n') - if err != nil { - f.Close() - return - } - fields := strings.Fields(line) + scanner := bufio.NewScanner(f) + for scanner.Scan() { + fields := strings.Fields(scanner.Text()) if len(fields) <= 1 || fields[0][0] == '#' { continue } @@ -43,6 +39,9 @@ func loadMimeFile(filename string) { setExtensionType("."+ext, mimeType) } } + if err := scanner.Err(); err != nil { + panic(err) + } } func initMime() {