diff options
author | Matthew Holt <mholt@users.noreply.github.com> | 2019-11-04 13:25:37 -0700 |
---|---|---|
committer | Matthew Holt <mholt@users.noreply.github.com> | 2019-11-04 13:25:37 -0700 |
commit | 263ffbfaecc5ed8b7f5071baecf51b4e9d90e7bf (patch) | |
tree | d1edbf94af113046f5b1331a555ac0adcb5b6381 | |
parent | bf363f061d03f33a8301466c9c0e2a89d75542c0 (diff) |
caddyfile: Fix bug with Delete
It now will delete the current token even if it is the last one
-rwxr-xr-x | caddyconfig/caddyfile/dispenser.go | 2 | ||||
-rw-r--r-- | caddyconfig/httpcaddyfile/directives.go | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/caddyconfig/caddyfile/dispenser.go b/caddyconfig/caddyfile/dispenser.go index de67ee1..6afbd77 100755 --- a/caddyconfig/caddyfile/dispenser.go +++ b/caddyconfig/caddyfile/dispenser.go @@ -339,7 +339,7 @@ func (d *Dispenser) Errf(format string, args ...interface{}) error { // array will become apparent (or worse, hide from you like they // did me for 3 and a half freaking hours late one night). func (d *Dispenser) Delete() []Token { - if d.cursor >= 0 && d.cursor < len(d.tokens)-1 { + if d.cursor >= 0 && d.cursor <= len(d.tokens)-1 { d.tokens = append(d.tokens[:d.cursor], d.tokens[d.cursor+1:]...) d.cursor-- } diff --git a/caddyconfig/httpcaddyfile/directives.go b/caddyconfig/httpcaddyfile/directives.go index f1ce0f1..e56d101 100644 --- a/caddyconfig/httpcaddyfile/directives.go +++ b/caddyconfig/httpcaddyfile/directives.go @@ -64,7 +64,8 @@ func RegisterHandlerDirective(dir string, setupFunc UnmarshalHandlerFunc) { return nil, err } if ok { - h.Dispenser.Delete() // strip matcher token + tokens := h.Dispenser.Delete() // strip matcher token + h.Dispenser = caddyfile.NewDispenser(tokens) } h.Dispenser.Reset() // pretend this lookahead never happened |