Codebase list golang-github-vbauerster-mpb / f8c9d69
deferless implementation Vladimir Bauer 3 years ago
1 changed file(s) with 11 addition(s) and 11 deletion(s). Raw diff Collapse all Expand all
149149
150150 func (s *bFiller) Fill(w io.Writer, stat decor.Statistics) (err error) {
151151 width := internal.CheckRequestedWidth(stat.RequestedWidth, stat.AvailableWidth)
152 brackets := s.components[iLbound].width + s.components[iRbound].width
153152 // don't count brackets as progress
154 width -= brackets
153 width -= (s.components[iLbound].width + s.components[iRbound].width)
155154 if width < 0 {
156155 return nil
157156 }
160159 if err != nil {
161160 return err
162161 }
163 defer func() {
164 if err == nil {
165 _, err = w.Write(s.components[iRbound].bytes)
166 }
167 }()
168162
169163 if width == 0 {
170 return nil
164 _, err = w.Write(s.components[iRbound].bytes)
165 return err
171166 }
172167
173168 var filling [][]byte
236231 }
237232
238233 if s.rev {
239 return flush(w, padding, filling)
240 }
241 return flush(w, filling, padding)
234 filling, padding = padding, filling
235 }
236 err = flush(w, filling, padding)
237 if err != nil {
238 return err
239 }
240 _, err = w.Write(s.components[iRbound].bytes)
241 return err
242242 }
243243
244244 func flush(w io.Writer, filling, padding [][]byte) error {