~sircmpwn/aerc

db6848fe1b77bc7f2a657231307d2a4271d41482 — Reto Brunner 3 years ago 077063b
notmuch: don't read the full file into memory
1 files changed, 3 insertions(+), 9 deletions(-)

M worker/notmuch/message.go
M worker/notmuch/message.go => worker/notmuch/message.go +3 -9
@@ 3,10 3,9 @@
package notmuch

import (
	"bytes"
	"bufio"
	"fmt"
	"io"
	"io/ioutil"
	"os"

	"git.sr.ht/~sircmpwn/aerc/models"


@@ 22,7 21,7 @@ type Message struct {
	db  *notmuch.DB
}

// NewReader reads a message into memory and returns an io.Reader for it.
// NewReader returns a reader for a message
func (m *Message) NewReader() (io.Reader, error) {
	name, err := m.Filename()
	if err != nil {


@@ 32,12 31,7 @@ func (m *Message) NewReader() (io.Reader, error) {
	if err != nil {
		return nil, err
	}
	defer f.Close()
	b, err := ioutil.ReadAll(f)
	if err != nil {
		return nil, err
	}
	return bytes.NewReader(b), nil
	return bufio.NewReader(f), nil
}

// MessageInfo populates a models.MessageInfo struct for the message.