Assemble: merge to large 'if' statements.
In assemble, we see (inside a 'for' loop): if (condition) { lots of stuff } else something small thing if (same condition) { lots more stuff break; } where 'condition' cannot be changed in the middle. So simplify this to if (condition) { lots of stuff small thing lots more stuff break; } something small thing which duplicates the small thing, but provides much conceptual simplicity. Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
parent
a655e55064
commit
bac0d92e93
34
Assemble.c
34
Assemble.c
|
@ -402,22 +402,11 @@ int Assemble(struct supertype *st, char *mddev,
|
||||||
if (tmpdev->content == NULL)
|
if (tmpdev->content == NULL)
|
||||||
tmpdev->used = 2;
|
tmpdev->used = 2;
|
||||||
|
|
||||||
} else if (ident->container || ident->member) {
|
if (!ident_matches(ident, content, tst,
|
||||||
/* No chance of this matching if we don't have
|
homehost, update,
|
||||||
* a container */
|
report_missmatch ? devname : NULL))
|
||||||
if (report_missmatch)
|
goto loop;
|
||||||
fprintf(stderr, Name "%s is not a container, and one is required.\n",
|
|
||||||
devname);
|
|
||||||
goto loop;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!ident_matches(ident, content, tst,
|
|
||||||
homehost, update,
|
|
||||||
report_missmatch ? devname : NULL))
|
|
||||||
goto loop;
|
|
||||||
|
|
||||||
if (tst->ss->container_content
|
|
||||||
&& tst->loaded_container) {
|
|
||||||
/* we have the one container we need, don't keep
|
/* we have the one container we need, don't keep
|
||||||
* looking. If the chosen member is active, skip.
|
* looking. If the chosen member is active, skip.
|
||||||
*/
|
*/
|
||||||
|
@ -466,6 +455,21 @@ int Assemble(struct supertype *st, char *mddev,
|
||||||
content->text_version, devname);
|
content->text_version, devname);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (ident->container || ident->member) {
|
||||||
|
/* No chance of this matching if we don't have
|
||||||
|
* a container */
|
||||||
|
if (report_missmatch)
|
||||||
|
fprintf(stderr, Name "%s is not a container, and one is required.\n",
|
||||||
|
devname);
|
||||||
|
goto loop;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!ident_matches(ident, content, tst,
|
||||||
|
homehost, update,
|
||||||
|
report_missmatch ? devname : NULL))
|
||||||
|
goto loop;
|
||||||
|
|
||||||
if (st == NULL)
|
if (st == NULL)
|
||||||
st = dup_super(tst);
|
st = dup_super(tst);
|
||||||
if (st->minor_version == -1)
|
if (st->minor_version == -1)
|
||||||
|
|
Loading…
Reference in New Issue