Make def:<var> compatible between "static" and "dynamic" vars.
authorHeiko Schlittermann (HS12-RIPE) <hs@schlittermann.de>
Tue, 26 May 2020 10:28:43 +0000 (12:28 +0200)
committerHeiko Schlittermann (HS12-RIPE) <hs@schlittermann.de>
Tue, 26 May 2020 12:59:06 +0000 (14:59 +0200)
commit6b5b7e0caf05fae77569061d2487e7de9bcfda75
tree49c315d65033c0b8448cd4bc688fe0fe51e1ca9c
parent7ae71ad1ec1fe9ab2aff04efc277b7427f933ea9
Make def:<var> compatible between "static" and "dynamic" vars.

Some variables are simple pointers to internal memory (e.g.
vtype_stringptr), other variables are dynamically filled with content
(e.g. vtype_string_func).

The static variables contain "" if they're not defined yet.
At least on dynamic variable (recipients, backed by fn_recipients())
returned NULL instead of "", which lead to unexpected results on
def:recipients.

To keep the functions usable in places where it makes sense to return
NULL and "" as distinct values, I didn't touch the functions, but the
evaluation logic in find_variable().
src/src/expand.c