()
| 120 | } |
| 121 | |
| 122 | func (p *parser) parseAll() ([]ServerBlock, error) { |
| 123 | var blocks []ServerBlock |
| 124 | |
| 125 | for p.Next() { |
| 126 | err := p.parseOne() |
| 127 | if err != nil { |
| 128 | return blocks, err |
| 129 | } |
| 130 | if len(p.block.Keys) > 0 || len(p.block.Segments) > 0 { |
| 131 | blocks = append(blocks, p.block) |
| 132 | } |
| 133 | if p.nesting > 0 { |
| 134 | return blocks, p.EOFErr() |
| 135 | } |
| 136 | } |
| 137 | |
| 138 | return blocks, nil |
| 139 | } |
| 140 | |
| 141 | func (p *parser) parseOne() error { |
| 142 | p.block = ServerBlock{} |