From: Ben Pfaff Date: Sat, 9 Jan 2021 06:14:47 +0000 (-0800) Subject: spv-select: Allow structure_member and png_member to be selected also. X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8491d88610f4a0c48891be493a4bd0522aec297b;p=pspp spv-select: Allow structure_member and png_member to be selected also. --- diff --git a/src/output/spv/spv-select.c b/src/output/spv/spv-select.c index 21b560d720..10f35a1811 100644 --- a/src/output/spv/spv-select.c +++ b/src/output/spv/spv-select.c @@ -178,12 +178,25 @@ select_matches (const struct spv_reader *spv, const struct spv_criteria *c, &c->include.labels, &c->exclude.labels)) continue; - if (c->members.n - && !((item->xml_member - && string_array_matches (item->xml_member, &c->members)) || - (item->bin_member - && string_array_matches (item->bin_member, &c->members)))) - continue; + if (c->members.n) + { + char *members[] = { + item->structure_member, + item->xml_member, + item->bin_member, + item->png_member + }; + + bool found = false; + for (size_t i = 0; i < sizeof members / sizeof *members; i++) + if (string_array_matches (members[i], &c->members) == true) + { + found = true; + break; + } + if (!found) + continue; + } if (c->n_instances) {