Skip to content

Commit

Permalink
fix
Browse files Browse the repository at this point in the history
  • Loading branch information
wzshiming committed Mar 3, 2020
1 parent 804310a commit 669d4ae
Showing 1 changed file with 18 additions and 11 deletions.
29 changes: 18 additions & 11 deletions configure/configure.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,17 +38,16 @@ func newDecoder() *decoder {

func (d *decoder) Decode(ctx context.Context, config []byte, i interface{}) error {
v := reflect.ValueOf(i)
_, err := d.decode(ctx, config, v)
need, err := d.decode(ctx, config, v)
if err != nil {
return err
}

need := []string{}
for name := range d.dependentRef {
if _, ok := d.exists[name]; !ok {
need = append(need, name)
}
need = append(need, name)
}
need = d.unique(need)

if len(need) != 0 {
return fmt.Errorf("missing dependency %v", need)
}
Expand Down Expand Up @@ -449,14 +448,22 @@ func (d *decoder) unique(s []string) []string {
return s
}
}

sort.Strings(s)
n := 0
for i := 1; i < len(s); i++ {
ret := s[:0]
for i := 0; i != len(s); i++ {
j := i + 1
if j != len(s) {
if s[i] == s[j] {
continue
}
}
_, ok := d.exists[s[i]]
if ok || s[i] != s[n] {
n++
s[n] = s[i]
if ok {
continue
}

ret = append(ret, s[i])
}
return s[:n+1]
return ret
}

0 comments on commit 669d4ae

Please sign in to comment.