mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-20 07:59:00 +00:00
logical: Clean up allocation when building regex on the fly
Rather than a loop reallocating space to build the regex, just allocate it once up front, then if there's more than 1 nextent, append a comma and another regex_unit string. Signed-off-by: John Ferlan <jferlan@redhat.com>
This commit is contained in:
parent
c6d526f33f
commit
6ec319b84f
@ -120,12 +120,11 @@ virStorageBackendLogicalParseVolExtents(virStorageVolDefPtr vol,
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (VIR_STRDUP(regex, regex_unit) < 0)
|
||||
/* Allocate space for 'nextents' regex_unit strings plus a comma for each */
|
||||
if (VIR_ALLOC_N(regex, nextents * (strlen(regex_unit) + 1) + 1) < 0)
|
||||
goto cleanup;
|
||||
|
||||
strncat(regex, regex_unit, strlen(regex_unit));
|
||||
for (i = 1; i < nextents; i++) {
|
||||
if (VIR_REALLOC_N(regex, strlen(regex) + strlen(regex_unit) + 2) < 0)
|
||||
goto cleanup;
|
||||
/* "," is the separator of "devices" field */
|
||||
strcat(regex, ",");
|
||||
strncat(regex, regex_unit, strlen(regex_unit));
|
||||
|
Loading…
x
Reference in New Issue
Block a user