chiark
/
gitweb
/
~ianmdlvl
/
secnet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
changelog: document changes since 0.6.0
[secnet.git]
/
conffile.c
diff --git
a/conffile.c
b/conffile.c
index c03c1d87ea7b117c1acd608967aa5b21c67347ae..8c4385cd4477f795b9a5830e495ca240a5c8f7ea 100644
(file)
--- 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,
}
void *find_cl_if(dict_t *dict, cstring_t name, uint32_t type,
- bool_t
fail_if_invali
d, cstring_t desc, struct cloc loc)
+ bool_t
require
d, cstring_t desc, struct cloc loc)
{
item_t *i;
closure_t *cl;
{
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 (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) {
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;
}
}
return cl->interface;
}