[#104] nemtap: Escape special symbols in filters
Signed-off-by: Alex Vanin <a.vanin@yadro.com>
This commit is contained in:
parent
fe28c33277
commit
14ed3e177d
1 changed files with 10 additions and 1 deletions
|
@ -471,7 +471,7 @@ func writeFilterStringTo(w io.StringWriter, f netmap.Filter) error {
|
||||||
unspecified := op == 0
|
unspecified := op == 0
|
||||||
|
|
||||||
if s = f.GetKey(); s != "" {
|
if s = f.GetKey(); s != "" {
|
||||||
_, err = w.WriteString(fmt.Sprintf("%s %s %s", s, op, f.GetValue()))
|
_, err = w.WriteString(fmt.Sprintf("%s %s %s", escapeString(s), op, escapeString(f.GetValue())))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -816,3 +816,12 @@ func operationFromString(s string) (op netmap.Operation) {
|
||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// escapeString returns single quote wrapped string if it contains special
|
||||||
|
// characters '-' and whitespace.
|
||||||
|
func escapeString(s string) string {
|
||||||
|
if strings.ContainsAny(s, " -\t") {
|
||||||
|
return "'" + s + "'"
|
||||||
|
}
|
||||||
|
return s
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue