if len(p) == 0 {
return 0, nil
}
+ var out []byte
if !lp.did {
- lp.Writer.Write(lp.Prefix)
- lp.did = p[len(p)-1] != '\n'
+ out = append(out, lp.Prefix...)
}
- out := append(bytes.Replace(p[:len(p)-1], []byte("\n"), append([]byte("\n"), lp.Prefix...), -1), p[len(p)-1])
+ lp.did = p[len(p)-1] != '\n'
+ out = append(out, bytes.Replace(p[:len(p)-1], []byte("\n"), append([]byte("\n"), lp.Prefix...), -1)...)
+ out = append(out, p[len(p)-1])
_, err := lp.Writer.Write(out)
if err != nil {
return 0, err