- uservarn= 0;
- uservarnl= 0;
- for (ep= envok; (en= *ep); ep++) {
- l= strlen(en)+11;
- if (uservarnl<l) { uservarn= xrealloc(uservarn,l); uservarnl= l; }
- sprintf(uservarn,"USERV_U_E_%s",en);
- ev= getenv(uservarn); if (!ev) continue;
- if (strlen(ev) > MAX_ENVVAR_VALUE) error("environment variable too long");
- if (setenv(en,ev,1)) syserror("setenv");
- unsetenv(uservarn);
+ if (filters)
+ envok= load_filters(LOADF_MUST, filters, LF_END);
+ else {
+ envok= load_filters(0,
+ ".userv/ucgitarget.env-filter",
+ "/etc/userv/ucgitarget.env-filter",
+ LF_END);