// parse facets list
ODR odr = odr_createmem(ODR_ENCODE);
num_elements = scan_facet_argument(arg);
facet_list = odr_malloc(odr, sizeof(*facet_list));
elements = odr_malloc(odr, num_elements * sizeof(*elements));
for (index = 0; index < num_elements;) {
// parse facets list
ODR odr = odr_createmem(ODR_ENCODE);
num_elements = scan_facet_argument(arg);
facet_list = odr_malloc(odr, sizeof(*facet_list));
elements = odr_malloc(odr, num_elements * sizeof(*elements));
for (index = 0; index < num_elements;) {