@@ 203,14 203,13 @@ func main() {
if folder, match, err = parseRegexpCmd(os.Args[2:]); err != nil {
break
}
- var msgs []*mh.Message
+ var msgs []mh.Message
if msgs, err = mbox.ReadFolder(folder); err != nil {
break
}
var picked []string
for i := range msgs {
- // todo: no *
- if match.Matches(*msgs[i]) {
+ if match.Matches(msgs[i]) {
picked = append(picked, strconv.FormatInt(msgs[i].Id, 10))
}
}
@@ 4,7 4,7 @@ import (
"os"
"testing"
- mh "bitbucket.org/telesto/mailbox/mh"
+ "bitbucket.org/telesto/mailbox/mh"
)
func BenchmarkList(b *testing.B) {
@@ 13,7 13,7 @@ func BenchmarkList(b *testing.B) {
if err != nil {
panic(err)
}
- mbox := NewMHMailbox(mh.NewMailbox())
+ mbox := mh.NewMailbox()
msgs := NewAlwaysMatcher()
b.StartTimer()
for i := 0; i < b.N; i++ {
@@ 90,7 90,7 @@ func (mbox Mailbox) FolderType(folder st
return t, ok
}
-func (mbox Mailbox) ReadFolder(folder string) ([]*Message, error) {
+func (mbox Mailbox) ReadFolder(folder string) ([]Message, error) {
if err := mbox.lock(); err != nil {
return nil, err
}
@@ 104,7 104,7 @@ func (mbox Mailbox) ReadFolder(folder st
}
}
// continue on error, show what we got
- var mails []*Message
+ var mails []Message
for i := range list {
file, err1 := mbox.open(folder, list[i].Name())
if err1 != nil {
@@ 124,7 124,7 @@ func (mbox Mailbox) ReadFolder(folder st
mails = append(mails, errMail(list[i].Id, err1))
continue
}
- mails = append(mails, &Message{list[i].Id, msg})
+ mails = append(mails, Message{list[i].Id, msg})
}
return mails, err
}
@@ 153,12 153,11 @@ func (mh *Mailbox) Append(folder string,
return id, mh.unlock()
}
-func errMail(id int64, err error) *Message {
+func errMail(id int64, err error) Message {
h := make(map[string][]string, 1)
h["Subject"] = []string{"Error: " + err.Error()}
b := strings.NewReader("Error: " + err.Error())
- m := Message{id, &mail.Message{h, b}}
- return &m
+ return Message{id, &mail.Message{h, b}}
}
func (mh *Mailbox) MkFolder(folder string) error {
@@ 59,9 59,7 @@ func ParseSequence(input string) (*Seque
}
func NewAlwaysMatcher() *Sequence {
- var s Sequence
- s.section = append(s.section, [2]int64{0, 1<<63 - 1})
- return &s
+ return &Sequence{section: [][2]int64{[2]int64{0, 1<<63 - 1}}}
}
type Regexp struct {