(offset int64)
| 110 | } |
| 111 | |
| 112 | func (mb *MultiBufferByteGetter) PrevLine(offset int64) (int64, error) { |
| 113 | if offset == 0 { |
| 114 | return 0, ErrBOF |
| 115 | } |
| 116 | offset = offset - 2 |
| 117 | for { |
| 118 | if offset < 0 { |
| 119 | break |
| 120 | } |
| 121 | b, err := mb.GetByte(offset) |
| 122 | if err != nil { |
| 123 | return 0, err |
| 124 | } |
| 125 | if b == '\n' { |
| 126 | break |
| 127 | } |
| 128 | offset-- |
| 129 | } |
| 130 | return offset + 1, nil |
| 131 | } |