1
0

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:
Ján Tomko 2014-03-20 12:56:58 +01:00
parent 220c0031fe
commit f01f62d43d

View File

@ -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(&reg[i], p, nvars[i]+1, vars, 0) == 0) { if (regexec(&reg[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;
}
} }
} }
} }