MCPcopy Create free account
hub / github.com/3proxy/3proxy / copyfilter

Function copyfilter

src/proxymain.c:916–940  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

914
915
916void copyfilter (struct filter *filter, struct srvparam *srv){
917 int nfilters = 0;
918
919 if(!filter) return;
920 for(srv->filter = filter; srv->filter; srv->filter = srv->filter->next) nfilters++;
921 srv->filter = myalloc(sizeof(struct filter) * nfilters);
922 if(!srv->filter) return;
923
924 for(; filter; filter = filter->next){
925 void *data = NULL;
926
927 if(!filter->filter_open || !(data = (*filter->filter_open)(filter->data, srv))) continue;
928
929 srv->filter[srv->nfilters] = *filter;
930 srv->filter[srv->nfilters].data = data;
931 if(srv->nfilters>0)srv->filter[srv->nfilters - 1].next = srv->filter + srv->nfilters;
932 srv->nfilters++;
933 if(filter->filter_request)srv->nreqfilters++;
934 if(filter->filter_header_srv)srv->nhdrfilterssrv++;
935 if(filter->filter_header_cli)srv->nhdrfilterscli++;
936 if(filter->filter_predata)srv->npredatfilters++;
937 if(filter->filter_data_srv)srv->ndatfilterssrv++;
938 if(filter->filter_data_cli)srv->ndatfilterscli++;
939 }
940}
941
942FILTER_ACTION makefilters (struct srvparam *srv, struct clientparam *param){
943 FILTER_ACTION res=PASS;

Callers 1

proxymain.cFile · 0.85

Calls 1

myallocFunction · 0.85

Tested by

no test coverage detected