<!-- Kamailio Pull Request Template -->
#### Pre-Submission Checklist <!-- Go over all points below, and after creating the PR, tick all the checkboxes that apply --> <!-- All points should be verified, otherwise, read the CONTRIBUTING guidelines from above--> <!-- If you're unsure about any of these, don't hesitate to ask on sr-dev mailing list --> - [x] Commit message has the format required by CONTRIBUTING guide - [x] Commits are split per component (core, individual modules, libs, utils, ...) - [x] Each component has a single commit (if not, squash them into one commit) - [x] No commits to README files for modules (changes must be done to docbook files in `doc/` subfolder, the README file is autogenerated)
#### Type Of Change - [X] New feature (non-breaking change which adds new functionality)
#### Checklist: <!-- Go over all points below, and after creating the PR, tick the checkboxes that apply --> - [ ] PR should be backported to stable branches - [X] Tested changes locally - [X] Related to issue #2967
#### Description Add new preprocessor keywords `trydefenv` and `trydefenvs` that work like `defenv` and `defenvs` respectively, with the difference that if the environmental variable is not defined, then the value in Kamailio will not be defined.
For example: ``` #!KAMAILIO
loadmodule "xlog" loadmodule "pv"
#!trydefenv EXTRALOG
request_route { #!ifdef EXTRALOG xlog("L_I", "Some Extra Logging here\n"); #!endif forward (); } ``` If the environmental variable `$EXTRALOG` is defined, the log line will be written. If the environmental variable is not set, then in Kamailio `EXTRALOG` will not be defined and the `#!ifdef` section will not be loaded.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/2969
-- Commit Summary --
* core: cfg.lex support for undefned env vars
-- File Changes --
M src/core/cfg.lex (56) M src/core/ppcfg.h (8)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/2969.patch https://github.com/kamailio/kamailio/pull/2969.diff
Thanks! I am merging it, then probably do a few cosmetic changes to make the new parameter more generic, to be able to reuse in the future if needed.
Merged #2969 into master.