single padWidth loop
Vladimir Bauer
4 years ago
| 222 | 222 | } |
| 223 | 223 | |
| 224 | 224 | padWidth := width - filled |
| 225 | for padWidth > 0 && padWidth >= s.components[iPadding].width { | |
| 226 | padding = append(padding, s.components[iPadding].bytes) | |
| 227 | if s.components[iPadding].width == 0 { | |
| 228 | break | |
| 229 | } | |
| 230 | padWidth -= s.components[iPadding].width | |
| 231 | } | |
| 232 | ||
| 233 | 225 | for padWidth > 0 { |
| 234 | padding = append(padding, []byte("…")) | |
| 235 | padWidth-- | |
| 226 | if padWidth >= s.components[iPadding].width { | |
| 227 | padding = append(padding, s.components[iPadding].bytes) | |
| 228 | if s.components[iPadding].width == 0 { | |
| 229 | break | |
| 230 | } | |
| 231 | padWidth -= s.components[iPadding].width | |
| 232 | } else { | |
| 233 | padding = append(padding, []byte("…")) | |
| 234 | padWidth-- | |
| 235 | } | |
| 236 | 236 | } |
| 237 | 237 | |
| 238 | 238 | s.flush(w, filling, padding) |