Remove useless 'maxReg' variable
It is used to break out of the loop early if one regex does not match. Use the 'break' statement instead.
This commit is contained in:
parent
220c0031fe
commit
f01f62d43d
@ -2782,7 +2782,6 @@ virCommandRunRegex(virCommandPtr cmd,
|
|||||||
int err;
|
int err;
|
||||||
regex_t *reg;
|
regex_t *reg;
|
||||||
regmatch_t *vars = NULL;
|
regmatch_t *vars = NULL;
|
||||||
int maxReg = 0;
|
|
||||||
size_t i, j, k;
|
size_t i, j, k;
|
||||||
int totgroups = 0, ngroup = 0, maxvars = 0;
|
int totgroups = 0, ngroup = 0, maxvars = 0;
|
||||||
char **groups;
|
char **groups;
|
||||||
@ -2841,32 +2840,30 @@ virCommandRunRegex(virCommandPtr cmd,
|
|||||||
if (!p)
|
if (!p)
|
||||||
p = lines[k];
|
p = lines[k];
|
||||||
|
|
||||||
for (i = 0; i <= maxReg && i < nregex; i++) {
|
for (i = 0; i < nregex; i++) {
|
||||||
if (regexec(®[i], p, nvars[i]+1, vars, 0) == 0) {
|
if (regexec(®[i], p, nvars[i]+1, vars, 0) != 0)
|
||||||
maxReg++;
|
break;
|
||||||
|
|
||||||
if (i == 0)
|
if (i == 0)
|
||||||
ngroup = 0;
|
ngroup = 0;
|
||||||
|
|
||||||
/* NULL terminate each captured group in the line */
|
/* NULL terminate each captured group in the line */
|
||||||
for (j = 0; j < nvars[i]; j++) {
|
for (j = 0; j < nvars[i]; j++) {
|
||||||
/* NB vars[0] is the full pattern, so we offset j by 1 */
|
/* NB vars[0] is the full pattern, so we offset j by 1 */
|
||||||
p[vars[j+1].rm_eo] = '\0';
|
p[vars[j+1].rm_eo] = '\0';
|
||||||
if (VIR_STRDUP(groups[ngroup++], p + vars[j+1].rm_so) < 0)
|
if (VIR_STRDUP(groups[ngroup++], p + vars[j+1].rm_so) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* We're matching on the last regex, so callback time */
|
/* We're matching on the last regex, so callback time */
|
||||||
if (i == (nregex-1)) {
|
if (i == (nregex-1)) {
|
||||||
if (((*func)(groups, data)) < 0)
|
if (((*func)(groups, data)) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
/* Release matches & restart to matching the first regex */
|
/* Release matches & restart to matching the first regex */
|
||||||
for (j = 0; j < totgroups; j++)
|
for (j = 0; j < totgroups; j++)
|
||||||
VIR_FREE(groups[j]);
|
VIR_FREE(groups[j]);
|
||||||
maxReg = 0;
|
ngroup = 0;
|
||||||
ngroup = 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user