mirror of
https://github.com/Luzifer/sii.git
synced 2024-10-18 05:14:19 +00:00
Fix weird races, add support for line-trailing comments
Signed-off-by: Knut Ahlers <knut@ahlers.me>
This commit is contained in:
parent
126a4cc006
commit
4231f1d922
1 changed files with 10 additions and 4 deletions
|
@ -13,8 +13,8 @@ import (
|
|||
)
|
||||
|
||||
var (
|
||||
singleLineValue = `^\s*%s\s?:\s?(.+)$`
|
||||
arrayLineValue = `^\s*%s(\[([0-9]*)\])?\s?:\s?(.+)$`
|
||||
singleLineValue = `^\s*%s\s?:\s?([^#]+)(?:$|#)`
|
||||
arrayLineValue = `^\s*%s(\[([0-9]*)\])?\s?:\s?([^#]+)(?:$|#)`
|
||||
)
|
||||
|
||||
func genericUnmarshal(in []byte, out interface{}, unit *Unit) error {
|
||||
|
@ -376,7 +376,11 @@ func getArrayValues(in []byte, name string) ([][]byte, error) {
|
|||
}
|
||||
|
||||
if len(grp[2]) == 0 {
|
||||
out = append(out, grp[3])
|
||||
tb := make([]byte, len(grp[3]))
|
||||
for i, b := range grp[3] {
|
||||
tb[i] = b
|
||||
}
|
||||
out = append(out, bytes.TrimSpace(tb))
|
||||
continue
|
||||
}
|
||||
|
||||
|
@ -386,9 +390,11 @@ func getArrayValues(in []byte, name string) ([][]byte, error) {
|
|||
}
|
||||
|
||||
out[idx] = make([]byte, len(grp[3]))
|
||||
tb := make([]byte, len(grp[3]))
|
||||
for i, b := range grp[3] {
|
||||
out[idx][i] = b
|
||||
tb[i] = b
|
||||
}
|
||||
out[idx] = bytes.TrimSpace(tb)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue