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 (
|
var (
|
||||||
singleLineValue = `^\s*%s\s?:\s?(.+)$`
|
singleLineValue = `^\s*%s\s?:\s?([^#]+)(?:$|#)`
|
||||||
arrayLineValue = `^\s*%s(\[([0-9]*)\])?\s?:\s?(.+)$`
|
arrayLineValue = `^\s*%s(\[([0-9]*)\])?\s?:\s?([^#]+)(?:$|#)`
|
||||||
)
|
)
|
||||||
|
|
||||||
func genericUnmarshal(in []byte, out interface{}, unit *Unit) error {
|
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 {
|
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
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -386,9 +390,11 @@ func getArrayValues(in []byte, name string) ([][]byte, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
out[idx] = make([]byte, len(grp[3]))
|
out[idx] = make([]byte, len(grp[3]))
|
||||||
|
tb := make([]byte, len(grp[3]))
|
||||||
for i, b := range 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