Fixes file read issue that caused a premature return
This commit is contained in:
parent
d6b686d325
commit
08cde441c7
29
mailcap.go
29
mailcap.go
|
@ -15,27 +15,38 @@ type Mailcap struct {
|
|||
}
|
||||
|
||||
func NewMailcap() *Mailcap {
|
||||
mc := Mailcap{}
|
||||
mc := Mailcap{make(Cap)}
|
||||
mc.getCaps()
|
||||
return &mc
|
||||
}
|
||||
|
||||
func (m *Mailcap) ShowAll() {
|
||||
fmt.Print(m.Caps)
|
||||
for k, _ := range m.Caps {
|
||||
fmt.Println(k)
|
||||
}
|
||||
}
|
||||
|
||||
func (m *Mailcap) Show(mime string) {
|
||||
if v, ok := m.Caps[mime]; ok {
|
||||
fmt.Println(mime + ":")
|
||||
fmt.Print(v)
|
||||
fmt.Println("")
|
||||
} else {
|
||||
fmt.Printf("Cannot find %s\n", mime)
|
||||
}
|
||||
}
|
||||
|
||||
func (m *Mailcap) ShowSourceFiles() {
|
||||
for _, s := range getMailcapFileList() {
|
||||
fmt.Println(s)
|
||||
fmt.Println("")
|
||||
}
|
||||
}
|
||||
|
||||
func (m *Mailcap) getCaps() {
|
||||
lnNum := 0
|
||||
var moreCaps Cap
|
||||
moreCaps = make(Cap)
|
||||
for _, mailcapFile := range getMailcapFileList() {
|
||||
file, err := os.Open(mailcapFile)
|
||||
if err != nil {
|
||||
|
@ -77,11 +88,14 @@ func getMailcapFileList() (mCapSlice []string) {
|
|||
}
|
||||
|
||||
func readMailcapFile(f *os.File,ln int) (Cap, int) {
|
||||
caps := Cap{}
|
||||
caps := make(Cap)
|
||||
reader := bufio.NewReader(f)
|
||||
for {
|
||||
l, e := reader.ReadString('\n')
|
||||
if e != nil || l[0] == '#' || strings.TrimSpace(l) == "" {
|
||||
if e != nil {
|
||||
break
|
||||
}
|
||||
if strings.TrimSpace(l) == "" || l[0] == '#' {
|
||||
continue
|
||||
}
|
||||
|
||||
|
@ -114,17 +128,16 @@ func readMailcapFile(f *os.File,ln int) (Cap, int) {
|
|||
if _, ok := caps[key]; ok {
|
||||
caps[key] = append(caps[key], fields)
|
||||
} else {
|
||||
var outputfield Fields
|
||||
caps[key] = outputfield
|
||||
caps[key] = make(Fields,0,10)
|
||||
caps[key] = append(caps[key], fields)
|
||||
}
|
||||
return caps, ln
|
||||
}
|
||||
|
||||
return caps, ln
|
||||
}
|
||||
|
||||
func parseLine(ln string) (string, Entry, error) {
|
||||
outputFields := Entry{}
|
||||
outputFields := make(Entry)
|
||||
i := 0
|
||||
n := len(ln)
|
||||
fields := make([]string, 0, 10)
|
||||
|
|
Loading…
Reference in New Issue