Start refactor how qemu-system commands are built

This commit is contained in:
AlexSSD7 2023-09-01 18:17:20 +01:00
commit fc7fe2e6c0
8 changed files with 427 additions and 0 deletions

27
qemucli/validation.go Normal file
View file

@ -0,0 +1,27 @@
package qemucli
import (
"fmt"
"strings"
)
func validateArgKey(key string, t ArgAcceptedValue) error {
allowedValue, ok := safeArgs[key]
if !ok {
return fmt.Errorf("unknown safe arg '%v'", key)
}
if want, have := allowedValue, t; want != have {
return fmt.Errorf("bad arg value type: want '%v', have '%v'", allowedValue, t)
}
return nil
}
func validateArgStrValue(s string) error {
if strings.Contains(s, ",") {
return fmt.Errorf("commas are not allowed")
}
return nil
}