X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=conffile.c;h=8c4385cd4477f795b9a5830e495ca240a5c8f7ea;hb=564022994befb8f71b89ae015751b22c34ae3ee8;hp=c03c1d87ea7b117c1acd608967aa5b21c67347ae;hpb=48ef5edd35eba43022e8d2ee18fcdd2fa3349762;p=secnet.git diff --git a/conffile.c b/conffile.c index c03c1d8..8c4385c 100644 --- a/conffile.c +++ b/conffile.c @@ -655,20 +655,19 @@ void add_closure(dict_t *dict, cstring_t name, apply_fn apply) } void *find_cl_if(dict_t *dict, cstring_t name, uint32_t type, - bool_t fail_if_invalid, cstring_t desc, struct cloc loc) + bool_t required, cstring_t desc, struct cloc loc) { item_t *i; closure_t *cl; - i = dict_find_item(dict,name,fail_if_invalid,desc,loc); + i = dict_find_item(dict,name,required,desc,loc); + if (!i) return NULL; if (i->type!=t_closure) { - if (!fail_if_invalid) return NULL; cfgfatal(loc,desc,"\"%s\" must be a closure\n",name); } cl=i->data.closure; if (cl->type!=type) { - if (!fail_if_invalid) return NULL; - cfgfatal(loc,desc,"\"%s\" is the wrong type of closure\n",name); + cfgfatal_cl_type(loc,desc,cl,type,name); } return cl->interface; }