chiark
/
gitweb
/
~mdw
/
exim-config
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
2845f3f
)
defs.m4: Factor out the apodosis/haeresis handling in `LOOKUP_DOMAIN'.
author
Mark Wooding
<mdw@distorted.org.uk>
Sat, 4 May 2024 14:39:25 +0000
(15:39 +0100)
committer
Mark Wooding
<mdw@distorted.org.uk>
Mon, 6 May 2024 03:21:32 +0000
(
04:21
+0100)
defs.m4
patch
|
blob
|
blame
|
history
diff --git
a/defs.m4
b/defs.m4
index f83e2e6ad0eb2d8eb09022d45d8930c63a87fb30..8be119d4e4c42dcf4be3c43cf3262e51d6e76178 100644
(file)
--- a/
defs.m4
+++ b/
defs.m4
@@
-142,6
+142,20
@@
CLRSEP<::>FOREACH(<:SEP(:)$:><:1:>, <:$1:>):>)
m4_define(<:WARNING_HEADER:>,
<:add_header = X-CONF_header_token-Warning: $1 $2:>)
m4_define(<:WARNING_HEADER:>,
<:add_header = X-CONF_header_token-Warning: $1 $2:>)
+## _LOOKUP_ARGS([if-found], [if-not-found], [default])
+##
+## Processing for lookup arguments. Use as
+##
+## ${lookup {K} ST {F} _LOOKUP_ARGS(...)}$.
+##
+## IF-FOUND defaults to `{$value}'; IF-NOT-FOUND defaults to DEFAULT, which
+## defaults to `{}'.
+m4_define(<:_LOOKUP_ARGS:>,
+ <:m4_ifelse(<:$1$2$3:>, <::>, <::>,
+ <:$1$2:>, <::>, <:{$value}$3:>,
+ <:$2:>, <::>, <:$1$3:>,
+ <:$1$2:>):>)
+
## LOOKUP_DOMAIN(dom, [if-found], [if-not-found])
##
## Look up DOM in the master domains file. If it's found, put the
## LOOKUP_DOMAIN(dom, [if-found], [if-not-found])
##
## Look up DOM in the master domains file. If it's found, put the
@@
-152,9
+166,7
@@
m4_define(<:WARNING_HEADER:>,
m4_define(<:LOOKUP_DOMAIN:>,
<:if exists{CONF_sysconf_dir/domains.conf} \
{${lookup {$1}partial0-lsearch{CONF_sysconf_dir/domains.conf} \
m4_define(<:LOOKUP_DOMAIN:>,
<:if exists{CONF_sysconf_dir/domains.conf} \
{${lookup {$1}partial0-lsearch{CONF_sysconf_dir/domains.conf} \
- m4_ifelse(<:$2$3:>, <::>, <::>,
- <:$2:>, <::>, <:{$value}$3:>,
- <:$2$3:>)}} \
+ _LOOKUP_ARGS(<:$2:>, <:$3:>)}} \
$3:>)
## KV(key, result)
$3:>)
## KV(key, result)