mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-07-30 13:37:17 +00:00
virDomainDeviceLoadparmIsValid: Use 'strspn' instead of a loop
In other places we use strspn to validate a character subset. Convert the in-place loop and simplify the error message. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
d23389d2b7
commit
55d951ef58
@ -6298,8 +6298,6 @@ virDomainObjCheckActive(virDomainObj *dom)
|
|||||||
static bool
|
static bool
|
||||||
virDomainDeviceLoadparmIsValid(const char *loadparm)
|
virDomainDeviceLoadparmIsValid(const char *loadparm)
|
||||||
{
|
{
|
||||||
size_t i;
|
|
||||||
|
|
||||||
if (virStringIsEmpty(loadparm) || !STRLIM(loadparm, 8)) {
|
if (virStringIsEmpty(loadparm) || !STRLIM(loadparm, 8)) {
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||||
_("loadparm value '%s' must be between 1 and 8 characters"),
|
_("loadparm value '%s' must be between 1 and 8 characters"),
|
||||||
@ -6307,18 +6305,11 @@ virDomainDeviceLoadparmIsValid(const char *loadparm)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < strlen(loadparm); i++) {
|
if (strspn(loadparm, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789. ") != strlen(loadparm)) {
|
||||||
uint8_t c = loadparm[i];
|
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||||
|
_("invalid loadparm value '%s', expecting chars in set of [a-zA-Z0-9.] and blank spaces"),
|
||||||
if (('A' <= c && c <= 'Z') || ('0' <= c && c <= '9') ||
|
loadparm);
|
||||||
(c == '.') || (c == ' ')) {
|
return false;
|
||||||
continue;
|
|
||||||
} else {
|
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
|
||||||
_("invalid loadparm char '%c', expecting chars"
|
|
||||||
" in set of [a-zA-Z0-9.] and blank spaces"), c);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
@ -1 +1 @@
|
|||||||
internal error: invalid loadparm char '?', expecting chars in set of [a-zA-Z0-9.] and blank spaces
|
internal error: invalid loadparm value 'SYS1?', expecting chars in set of [a-zA-Z0-9.] and blank spaces
|
||||||
|
Loading…
Reference in New Issue
Block a user