+ const char *name = 0;
+ const char *value = 0;
+ for (; (name = facet_limits_get(cl->facet_limits, *l, &value)); (*l)++)
+ {
+ struct setting *s = 0;
+
+ for (s = sdb->settings[PZ_LIMITMAP]; s; s = s->next)
+ {
+ const char *p = strchr(s->name + 3, ':');
+ if (p && !strcmp(p + 1, name) && s->value &&
+ !strncmp(s->value, "local:", 6))
+ {
+ const char *cp = s->value + 6;
+ while (*cp == ' ')
+ cp++;
+
+ nmem_strsplit_escape2(nmem, "|", value, values,
+ num, 1, '\\', 1);
+ (*l)++;
+ return *cp ? cp : name;
+ }
+ }
+ }
+ return 0;
+}
+
+static int apply_limit(struct session_database *sdb,
+ facet_limits_t facet_limits,
+ WRBUF w_pqf, WRBUF w_ccl)
+{
+ int ret = 0;