"encoding/gob"
"encoding/hex"
"fmt"
- "io"
"os"
"os/exec"
"strconv"
if err = cmd.Start(); err != nil {
panic(err)
}
- torrents := make([]*rutrackerer.Torrent, 0, 1<<20)
+ var torrents []*rutrackerer.Torrent
+ gobDec := gob.NewDecoder(bufio.NewReader(os.Stdin))
+ if err = gobDec.Decode(&torrents); err != nil {
+ panic(err)
+ }
printer := make(chan struct{})
go func() {
scanner := bufio.NewScanner(grepStdout)
}
close(printer)
}()
- gobDec := gob.NewDecoder(bufio.NewReader(os.Stdin))
- for {
- var torrent rutrackerer.Torrent
- if err = gobDec.Decode(&torrent); err != nil {
- if err == io.EOF {
- break
- }
- panic(err)
- }
- torrents = append(torrents, &torrent)
- if _, err = grepStdin.Write([]byte(torrent.Title + "\n")); err != nil {
+ for _, t := range torrents {
+ if _, err = grepStdin.Write([]byte(t.Title + "\n")); err != nil {
panic(err)
}
}